web-dev-qa-db-ja.com

なぜApache httpdは私の名前ベースの仮想ホストがSNI対応のブラウザでのみ機能することを教えてくれるのですか(RFC 4366)

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>
9
Arlukin

VirtualHostディレクティブがServerNameディレクティブや証明書のCNと一致しないためです。ワイルドカード以外の部分が同一でなければならないワイルドカード証明書がない限り、3つすべてが同一である必要があります。

7
bahamat

これはエラーではなく、警告メッセージです。

そして、1)Apacheバージョンを更新し、2)同じ正確なIPアドレスを使用する2つのSSL VirtualHostを持っている(2つのIPを使用するのではなく)ために、それを取得しています。

IPを共有しているため、SNIをサポートしていないブラウザーは最初のWebサイトのみを取得し、2番目のWebサイトは取得しません。

3
rightstuff