从Apache 2.4 文档 :
基于SSL名称的虚拟主机的第一个(默认)虚拟主机必须包含TLSv1作为允许的协议,否则Apache将不会接受来自客户端的SNI信息,并且仿佛客户端根本不支持SNI。
我想在我的服务器上启用多个启用TLS的站点,每个站点都提供不同的证书。 出于安全原因,我只允许TLSv1.1和TLSv1.2。 有一个安全的方法来打开SNI?
从我的configuration一个片段:
<VirtualHost *:80> ServerName www.example.com Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost *:443> ServerName www.example.com DocumentRoot /var/www/example.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 [other SSL options] </VirtualHost> <VirtualHost *:80> ServerName www.example.org Redirect permanent / https://www.example.org/ </VirtualHost> <VirtualHost *:443> ServerName www.example.org DocumentRoot /var/www/example.org SSLEngine on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 [other SSL options] </VirtualHost>
wiki与早期协议中的TLSv1形成对比,而不是后来的协议。 SNI与TLSv1.1和TLSv1.2协同工作。