为什么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虚拟主机configuration如下。 在共享相同证书的所有域(主要是/总是通配证书)共享相同的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。 除非您有一个通配符证书,其中非通配部分必须是相同的,否则这三者必须相同。
这不是一个错误,这是一个警告信息。
你得到它,因为1)你已经更新了你的Apache版本,2)你有2个SSL VirtualHosts使用相同的确切的IP地址(而不是使用2个IP)。
由于您共享IP,没有SNI支持的浏览器只会获得第一个网站,而不会获得第二个网站。