Я знаю, что есть масса сообщений о нескольких SSL на одном IP, но обещаю, что я не бью мертвую лошадь. Мой вопрос очень ясен. Для начала немного предыстории ...
У нашей организации есть несколько сайтов электронной коммерции. Все эти сайты работают на одном IP, используя SNI для виртуальных хостов на основе имени. В большинстве случаев это отлично работает. Однако в некоторых браузерах (ie7 / ie8, но по какой-то причине только на некоторых машинах) мы получали отчеты о том, что пользователи наблюдали несоответствие домена сертификату SSL. Оказалось, что они видели сертификат SSL для первого хоста SSL в алфавитном порядке, поскольку Apache сначала разрешает IP-адрес, ЗАТЕМ захватывает то, что он считает правильным файлом виртуального хоста.
Я немного поэкспериментировал с протоколом SSL и обнаружил, что если я установлю его таким образом (ssl.conf):
SSLProtocol TLSv1
Тогда я бы просто не нашел ни одного из доменов https в IE.
Если я включу SSLStrictSNIVHostCheck в ports.conf
SSLStrictSNIVHostПроверьте
Тогда я получал отказ в разрешении в проблемных браузерах.
Проблема, очевидно, в том, что IE не поддерживает или не использует протокол TLSv1 или SNI, которые необходимы. Итак, мой вопрос ...
Могу ли я внести изменения в конфигурацию для поддержки IE, возможно, по другому протоколу, или это единственный вариант - использовать отдельный IP-адрес для каждого виртуального хоста, для которого требуется SSL?
Заранее спасибо =)
К сожалению, поддержка SNI по-прежнему отсутствует. Вы не указываете, но держу пари, что ваши проблемные браузеры IE работают на компьютерах с Windows XP, да? Нет поддержки SNI ни в одной версии IE в Windows XP (или более ранней); только Vista и более поздние версии поддерживают его, и только в IE 7 и более поздних версиях.
Видеть здесь для списка браузеров, поддерживающих SNI.
Мой совет: если вам нужно поддерживать клиентов, которым не хватает поддержки SNI (а количество систем XP все еще существует, вам, скорее всего, действительно нужно), тогда вам придется внедрять решения, не зависящие от SNI.
Сегодня около 10% пользователей Интернета не поддерживают указание имени сервера. В GlobalSign мы недавно создали решение для поддержки пользователей, которые не поддерживают указание имени сервера (SNI), с помощью двух сертификатов SSL (один для IP-адреса и бесплатный). Вы можете узнать больше о проблеме и решении, которое мы создали для безопасного размещения нескольких SSL-сертификатов на одном IP-адресе, в статье блога, которую мы опубликовали сегодня.
Если вы хотите охватить широкую аудиторию, не используйте SNI. Он не поддерживается достаточно широко, и вам следует избегать его, по крайней мере, через пару лет.
Вместо этого вам следует взглянуть на сертификаты UCC / SAN. Обычно это дороже, но в данной ситуации это правильно. Или вы могли бы выделить IP-адрес для каждого сайта.
http://www.geotrust.com/ssl/ssl-certificates-san-uc/ дает немного больше информации об этом типе сертификата.