Apacheがログにこのエラーメッセージを表示するのはなぜですか?誤検知ですか?
[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
最近、Centos 5.7から6.3にアップグレードし、それによって新しいhttpdバージョンにアップグレードしました。私は常に私のようなssl virtualhost設定を以下のようにしています。同じ証明書(ほとんどの場合、常にワイルドカード証明書)を共有するすべてのドメインが同じIPを共有する場合。しかし、これまでにこのエラーメッセージを受け取ったことはありません(または、ログを十分に調べていなかったのでしょうか?)学んだことから、これはSNI(サーバー名表示)なしで機能するはずです。
これが私のhttpd.confファイルの関連部分です。このVirtualHostがないと、エラーメッセージは表示されません。
NameVirtualHost 10.101.0.135:443
<VirtualHost 10.101.0.135:443>
ServerName sub1.domain.com
SSLEngine on
SSLProtocol -all +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>
<VirtualHost 10.101.0.135:443>
ServerName sub2.domain.com
SSLEngine on
SSLProtocol -all +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>
VirtualHostディレクティブがServerNameディレクティブや証明書のCNと一致しないためです。ワイルドカード以外の部分が同一でなければならないワイルドカード証明書がない限り、3つすべてが同一である必要があります。
これはエラーではなく、警告メッセージです。
そして、1)Apacheバージョンを更新し、2)同じ正確なIPアドレスを使用する2つのSSL VirtualHostを持っている(2つのIPを使用するのではなく)ために、それを取得しています。
IPを共有しているため、SNIをサポートしていないブラウザーは最初のWebサイトのみを取得し、2番目のWebサイトは取得しません。