Из Apache 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>
Вики противопоставляет TLSv1 более ранним протоколам, а не более поздним протоколам. SNI отлично работает с TLSv1.1 и TLSv1.2.