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