IIS7: Как мне разрешить одному сайту привязываться к порту 443 и предотвратить привязку на других сайтах

#iis-7 #ssl #webserver #shared

#iis-7 #ssl #веб-сервер #общий

Вопрос:

У нас есть сервер Win 2008 под управлением IIS7. Веб-сервер запускает несколько сайтов, одному из которых требуется SSL для его компонентов электронной коммерции / сбора данных:

  • www.domainA.com : 80 и 443
  • www.domainB.com :80
  • www.domainC.com :80
  • www.domainD.com :80

Я установил сертификат для DomainA и добавил привязку HTTPS / 443 для www.domainA.com веб-сайт. Однако, если я попытаюсь получить доступ https://www.domainB.com , Мне показано содержимое с сайта DomainA.

Как я могу запретить всем сайтам использовать привязку 443 от DomainA? Когда я добавляю сертификат к привязке, я не могу задать имя хоста. Если я использую appcmd для установки имени хоста, сайт получает 2 привязки и доступ через SSL не работает.

Только домен должен разрешать доступ к порту 443, а другие сайты должны отказывать в подключении.

Спасибо, Джеймс

Ответ №1:

SSL запускает соединение ДО отправки любого HTTP-заголовка — очевидно, что теперь сервер может определять, для какого домена предназначено это соединение, пока не будет установлено SSL-соединение.

Ваша привязка правильная — другие сайты НЕ привязаны к порту 443… но к моменту установления SSL-соединения и отправки первого HTTP-заголовка оно уже находится на IP-адресе (имя было разрешено через DNS).

Что касается решения:

Чтобы обойти то, что вы видите, вам нужно привязаться domainA.com к IP-адресу, отличному от остальных (и соответствующим образом изменить DNS).

Комментарии:

1. Спасибо за ответ. Я предположил, что для этого потребуется выделенный IP-адрес для сайта SSL, но просто хотел убедиться, что я не пропустил трюк.

2. @JamesCosterton добро пожаловать 🙂 пожалуйста, не забудьте отметить как принятый любой ответ, который помог (см. meta.stackexchange.com/questions/5234 / … ).