2番目のSSL証明書を導入すると、他のサイトが複数サイトのApacheサーバーから提供されます。

2番目のSSL証明書を導入すると、他のサイトが複数サイトのApacheサーバーから提供されます。

2つの完全に異なるWebサイト、つまり異なるドメインを持つUbuntuサーバーでApacheサービスを実行しています。

それぞれ別々のVirtualHost設定があり、最近までそのうちの1つだけがHTTPSを介して提供されました。

今朝、2番目のサイトに新しいSSL証明書を導入し、それに応じてVirtualHost設定を変更したとき(代わりにポート443でリッスンして証明書ファイルを指すなど)、2番目のサイトは期待どおりに提供されませんでした。 、代わりに元のHTTPSサイトを提供してください。

誰でも私を助けることができればとても感謝します。

以下は(削除された)VirtualHostファイルです。

最初のサイト - 常に支配的なサイト

<VirtualHost *:443>

ServerAdmin webmaster@localhost
ServerName www.first-site.com
ServerAlias some similar names
DocumentRoot /var/www/first-site.com/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

#SSL config
SSLEngine on
SSLProtocol -All +TLSv1.2
SSLCertificateFile /etc/apache2/ssl/first-site/firstsite-certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/first-site/firstsite.key
SSLCertificateChainFile /etc/apache2/ssl/first-site/firstsitechain.crt

.....More site-specific rules.....

セカンドサイト - 継続的に扱われているサイト

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName second-site.com
ServerAlias some similar names
DocumentRoot /var/www/secondsite/htdocs
ErrorLog /var/log/apache2/secondsite-error.log
CustomLog /var/log/apache2/secondsite-access.log combined

SSLEngine on
SSLProtocol -All +TLSv1.2
SSLCertificateFile /etc/apache2/ssl/secondsite/secondsite.crt
SSLCertificateKeyFile /etc/apache2/ssl/secondsite/secondsite.key
SSLCertificateChainFile /etc/apache2/ssl/secondsite/secondsitechain.crt

.....More site-specific rules.....

ログを確認しましたが、何も表示されません。たぶんそれは私のgrep-fuだけかもしれません...

似たような経験をした人はいますか?より多くの情報が必要ですか?

答え1

キーワード:ニューラルネットワーク研究所(サーバー名表示)

サーバーまたはクライアントにSNIサポートがありません。

https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

サーバーがSNIヘッダー情報を返すかどうかをテストするには、以下を試してください。

openssl s_client -servername www.SERVERNAME.com -tlsextdebug -connect www.YOURSERVER.com:443 2>/dev/null | grep "server name"

バラよりhttps://serverfault.com/questions/506177/how-can-i-Detect-if-a-server-is-using-sni-for-https

次のSSLサーバーをテストしてみることもできます。https://www.ssllabs.com/ssltest/ 「握手シミュレーション」では、既存の顧客に次のコンテンツを提供する必要があります。

Android 2.3.7このクライアントはSNIをサポートしていないため、SNI証明書が正しくありません。

ただし、新しいクライアントの一致する証明書です。

しかし、ここで同様の問題を経験した人がいます。 https://serverfault.com/questions/510132/apache-sni-namevhosts-always-route-to-first-virtualhost-entry

関連情報