![Ошибка «Недействительный сертификат» в IE9 на Win7 и Nginx с несколькими виртуальными хостами](https://rvso.com/image/660569/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%C2%AB%D0%9D%D0%B5%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%C2%BB%20%D0%B2%20IE9%20%D0%BD%D0%B0%20Win7%20%D0%B8%20Nginx%20%D1%81%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D0%BC%D0%B8%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8%20%D1%85%D0%BE%D1%81%D1%82%D0%B0%D0%BC%D0%B8.png)
У нас есть экземпляр Nginx с несколькими виртуальными хостами на одном IP-адресе. nginx.conf
Его конфигурация похожа на следующую:
server {
listen 443 default_server ssl;
server_name www.primary.com;
...
}
server {
listen 80;
server_name .primary.com;
rewrite ^(.*) https://www.primary.com$1 permanent;
}
server {
listen 443 ssl;
server_name www.secondary.com;
...
}
server {
listen 80;
server_name .secondary.com;
rewrite ^(.*) https://www.secondary.com$1 permanent;
}
server {
listen 443 ssl;
server_name www.tertiary.com;
...
}
server {
listen 80;
server_name .tertiary.com;
rewrite ^(.*) https://www.tertiary.com$1 permanent;
}
...
Каждый домен имеет свой собственный сертификат SSL. Все сертификаты имеют рейтинг A+ на SSLLabs.com. Однако все они показаны как несовместимые с браузерами, не поддерживающими SNI (например, IE8 на WinXP).
Пользователи обычно могут получить доступ к http(s)://www.primary.com
, http(s)://www.secondary.com
, http(s)://www.tertiary.com
, и т. д. просто отлично. Однако некоторые пользователи IE9 в Windows 7 64-bit жалуются, что они получают предупреждение системы безопасности (недействительный сертификат) при попытке доступа к https://www.secondary.com
или https://www.tertiary.com
. Если они игнорируют предупреждение системы безопасности и продолжают, URL-адрес открывается нормально. Затем проверка сертификата в адресной строке браузера показывает сертификат для www.primary.com
вместо сертификата для запрошенного домена. Те же пользователи не сталкиваются с какими-либо проблемами с любым другим браузером, таким как Firefox, Chrome или Opera на том же компьютере. Ни один другой пользователь не сообщал о каких-либо ошибках (IE10, IE11, Safari, Windows 8, Mac OS и т. д.). Также обратите внимание, что не все пользователи IE9 сталкиваются с этой проблемой. Мы видели пользователей IE9 в той же сети, которые могли получить доступ к веб-сайтам совершенно нормально.
Поскольку пользователи находятся в корпоративной среде, где использование браузера по умолчанию (IE9) поощряется ИТ-политикой, некоторые из затронутых пользователей воспринимают предупреждение всерьез и отказываются продолжать использовать затронутые сайты. Мы попробовали обычные варианты, такие как очистка кэша браузера.
Есть мысли или указания, как найти и устранить основную причину? Мы хотели бы решение, которое мы можем реализовать на стороне сервера и которое не требует вмешательства со стороны пользователей (если только нет задокументированной проблемы с IE9 на Windows 7).