У меня есть несколько сайтов на Windows 2003 IIS 6. Многие сайты настроены с использованием заголовка имени хоста. Некоторые сайты имеют собственные IP-адреса и установлены сертификаты SSL. Я обнаружил, что когда я попал на один из сайтов заголовков имени хоста без SSL и попытался ввести https, он обслуживает один из сайтов SSL.
Например:
site1.com - без SSL. Привязки: IP: Все неназначенные TCP-порт: 80 Значение заголовка хоста: site1.com
IP: Все неназначенные TCP-порт: 80 Значение заголовка хоста: www.site1.com
sitez.com - SSL. Привязки: IP: 192.168.100.73 Порт TCP: 80 Значение заголовка хоста: пусто (у этого также есть порт SSL 443 на вкладке веб-сайта)
Собирается http://www.site1.com хорошо, но собираюсь https://www.site1.com размещает sitez.com. Все остальное работает, как задумано, но когда сервер получает запрос на https на site1, он размещает sitez.
Я пробовал перейти с All Unassigned на внутренний IP-адрес сервера, но эффект тот же.
При использовании протокола HTTPS заголовки хоста игнорируются (по крайней мере, в IIS 6). Если вы не хотите, чтобы это явление произошло, вам нужно будет назначить www.site1.com выделенный IP-адрес, не используя «Все неназначенные», и не использовать другой SSL-сайт на том же IP-адресе.