Настроить IIS 7.5 с несколькими привязками веб-сайтов и SSL?

11

В IIS 7.5 я пытаюсь добиться этого с помощью двух веб-сайтов:

Default Web Site is bound to:

(blank host header port 80 - http)
(blank host header port 443 - https)
go.example.com
www71.example.com
the IP address of go.example.com

2nd web site "Beta" is bound to:

beta.example.com
(blank host header port 443 - https)
* using blank only because it doesn't seem to be possible to 
  bind https to a named host header

И оба должны работать с SSL. Но у меня есть следующие проблемы:

  1. Когда я набираю beta.example.com, вместо этого я вижу сайт go.example.com
  2. Я не могу добавить привязку SSL к обоим веб-сайтам одновременно (у меня есть один подстановочный сертификат * .example.com). Бета-сайт даже не запустится, если я добавлю к нему привязку https.

Вот как я это настроил:

введите описание изображения здесь

Как правильно его настроить?

JK01
источник

Ответы:

8

Без расширений SNI вы можете связать только один сертификат SSL для каждой пары IP: порт. Если вам нужно запустить 2 HTTPS на одном и том же IP-адресе - свяжите их с разными портами, а затем обратитесь к такому сайту, предоставляющему порт в URL (например https://beta.example.com:444/) Вы можете использовать один и тот же групповой сертификат на разных портах без каких-либо проблем.

Если у вас более одного сайта с пустым именем хоста (для протокола HTTP), то сайт с более низким идентификатором должен быть «поймать все». То же самое касается HTTPS - тот, у кого более низкий ID, должен перехватывать все запросы на этом порту.

С другой стороны, у вас есть подстановочный сертификат, и я видел одну статью, в которой говорится, что это можно сделать в IIS7: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html , Я сам пробовал в прошлом, но у меня это не получалось - довольно часто IIS выдавал ошибку 5xx при доступе даже к статическим файлам (что прекращалось, когда мы связывали другой хост с другим портом). Может быть, это было исправлено с тех пор.

LazyOne
источник
3

Хотя это старый вопрос, мне нужно было сделать то же самое совсем недавно. Это можно сделать в IIS 7.x с помощью сертификатов альтернативных имен субъектов. Эти сертификаты предпочтительнее подстановочных знаков, потому что они ограничиваются только сайтами, перечисленными в списке, таким образом смягчая атаки, основанные на подделке поддельного имени сайта в домене, захваченном под подстановочным знаком.

После импорта сертификата SAN в IIS вы можете использовать инструмент appcmd, чтобы указать дополнительную привязку, или вручную отредактировать applicationHost.config в разделе, например

<site name="SomeSite" id=9>
   <bindings>
     <binding protocol="http" bindingInformation="*:80:SomeSite"/>
     <binding protocol="https" bindingInformatoin="*:443:SomeSite" />
   </bindings>
</site>
Дэвид В.
источник