從阿帕契2.4開始文件:
基於 SSL 名稱的虛擬主機的第一個(預設)虛擬主機必須包含 TLSv1 作為允許的協議,否則 Apache 將不會接受來自客戶端的 SNI 訊息,並且客戶端將根本不支援 SNI。
我希望我的伺服器上有多個啟用 TLS 的站點,每個站點都提供不同的憑證。出於安全原因,我只允許 TLSv1.1 和 TLSv1.2。有沒有安全的方法來打開 SNI?
我的配置中的一個片段:
<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>
答案1
wiki 將 TLSv1 與早期協定進行對比,而不是後期協定。 SNI 與 TLSv1.1 和 TLSv1.2 配合得很好。