IIS 8. После обновления сертификата перестал работать SNI (Server Name Indication)
На днях столкнулся с интересной проблемой и решил оставить небольшое ее описание с решением. Суть в том, что есть у меня сервер с IIS, на котором размещено веб приложение. Оно работает с несколькими разными доменными именами по одному внешнему IP. Протокол HTTPS, порт 443. Соответственно, без SNI тут никак. Но вот после обновления сертификата для одной из привязок (binding) что-то пошло не так...Теперь для всех сайтов начал использоваться один сертификат. Проверка биндингов в IIS ничего не показала, iisreset не помог. Всё выглядело корректно, но ничего не работало. В очередной раз помогла утилита netsh. Выполнил:
netsh http show sslcert
Тут я увидел свой дефолтный сокет:
IP:port : 0.0.0.0:443
Certificate Hash : 8d4afc5ac022ebd3671af5a0c058435ce9478539
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
...
Но вот среди прочих параметров обнаружился один довольно странный:
...
IP:port : 178.159.XXX.YYY:443
Certificate Hash : 8d4afc5ac022ebd3671af5a0c058435ce9478539
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
...
Именно сертификат, привязанный к данному сокету и отображался во всех подключениях! Отлично, теперь мы знаем, что надо делать:
netsh http delete sslcert ipport=178.159.XXX.YYY:443
После этого SNI снова ожил и сайты стали доступны.
Комментариев нет:
Отправить комментарий