Назад | Перейти на главную страницу

Понимание пользователей XP, получающих доступ к сертификату UCC в IIS8

У меня есть один веб-сайт IIS, на котором размещены 3 разных веб-сайта, использующих один и тот же сертификат UCC SSL. (Код моего сайта проверяет сам заголовок хоста, чтобы решить, какой вариант сайта показывать).

Я уже исправил самую фатальную ошибку для моих пользователей Internet Explorer в XP, которая заключалась в отключении поля «Требовать указание имени субъекта» в IIS. Поскольку SNI не поддерживается в Windows XP если бы он был включен, когда пользователь XP переключился на HTTPS, его бы просто выгнали с сайта без предупреждения (не говорите моему боссу).

Поэтому я полностью понимаю, что когда пользователь получает доступ к любому из 3 сайтов через HTTPS, которые все имеют один и тот же IP-адрес, он отправляется на тот же сайт IIS и обслуживает сертификат UCC. Даже XP поддерживает сертификаты UCC / SAN, поэтому клиент принимает сертификат и показывает сайт, как ожидалось.

А теперь ... забудьте обо всем этом и рассмотрите второй негипотетический сценарий.

Теперь рассмотрим, что пользователи XP получают доступ https://cats.com

Вот как я понимаю, как все работает:

Ну, ты не знаешь. Вы попадаете на сайт dogs.com. Я пробовал это, и cats.com и dogs.com оба работают с клиентом Windows XP Internet Explorer 8.

Я просто не понимаю, почему это работает. Я ожидал такого поведения только в моем первом сценарии, когда все они используют одно приложение IIS.

Я предполагаю, что IIS 8 все равно получает заголовок хоста и достаточно умен, чтобы направить его на правильный веб-сайт и найти имя сертификата UCC. Это то, что происходит?

Может кто-нибудь объяснить дальше?

* просто чтобы нарочно раздражать технически мыслящих владельцев кошек и собак ;-)

IIS использует заголовок HTTP Host: для определения того, какой веб-сайт обслуживать, как и в случае любого другого запроса.