В 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. Но у меня такие проблемы:
Вот как я это настроил:
Как правильно его настроить?
Без Расширения SNI, вы можете привязать только один сертификат SSL к паре IP: порт. Если вам нужно запустить 2 HTTPS на одном IP-адресе - привяжите их к разным портам, а затем обратитесь к такому сайту с указанием порта в URL-адресе (например, https://beta.example.com:444/
). Вы можете без проблем использовать один и тот же подстановочный сертификат на разных портах.
Если у вас более одного сайта с пустым именем хоста (для протокола HTTP), то сайт с меньшим идентификатором должен быть «для всех». То же самое и с HTTPS - тот, у кого более низкий идентификатор, должен перехватывать все запросы на этом порту.
С другой стороны, у вас есть подстановочный сертификат, и я видел одну статью, в которой говорится, что это можно сделать в IIS7: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html . Я сам пробовал это раньше, но у меня это не сработало - довольно часто IIS выдавал ошибку 5xx при доступе даже к статическим файлам (что переставало происходить, когда мы привязывали другой хост к другому порту). Может, с тех пор это поправили.
Индикация имени сервера пока не поддерживается в IIS 7 или 7.5. Надеюсь, они реализовали эту функцию в следующих IIS: http://forums.iis.net/p/1161905/1923273.aspx
Хотя это более старый вопрос, мне совсем недавно пришлось сделать то же самое. Это можно сделать в 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>