IIS 7 и SSL подстановочный сертификат - PullRequest
1 голос
/ 13 марта 2012

У меня есть незащищенный домен, и я хочу создать защищенный поддомен. На одном IP-адресе работают Windows Server 2008 и IIS 7.

Итак, я приобрел подстановочный SSL-сертификат для * .mydomain.co.uk и отлично установил его на сервере. Он отображается под сертификатами сервера правильно.

Я настроил поддомен с HTTP-привязкой для целей тестирования, и все работает нормально - так что это не проблема для IIS. Затем я добавляю HTTPS-привязку для субдомена на обычном порту 443, и поскольку я назвал сертификат * .mydomain.com, в интерфейсе для меня включено поле hostnames. Поэтому я устанавливаю привязку HTTPS, удаляю привязку HTTP, перезагружаю веб-сайт и IIS. Когда я захожу на www.mydomain.com, он работает нормально, но когда я захожу на https://subdomain.mydomain.com, я получаю сообщение об ошибке браузера, в котором говорится, что он не может найти сервер.

Любая помощь будет высоко ценится.

Ответы [ 4 ]

1 голос
/ 14 марта 2012

ОК, разобрался - как обычно, это было множество проблем, а не одна.

Сначала возникла проблема с брандмауэром - сервер работает на Amazon EC2, а группа безопасности была настроена для блокировки трафика HTTPS на порту 443.

Вторым действительно был DNS. Хотя поддомен был доступен для просмотра БЕЗ записи CNAME при использовании HTTP-привязки, явная запись CNAME, по-видимому, требуется при использовании HTTPS. Не спрашивай меня почему.

Данный поддомен предназначен для приложения IFrame Facebook. В IE и Chrome он хорошо отрисовывался, но Firefox выдает ошибку ssl_error_renegotiation_not_allowed. Это было связано с настройками SSL в IIS - их нужно установить на Требовать SSL (без галочки) или поставить галочку, а затем Сертификаты клиента на Игнорировать

Фу - рад, что он работает и работает сейчас.

0 голосов
/ 17 апреля 2012

Это может быть сложно понять, но нужно искать только одну вещь:

Но убедитесь, что удостоверение для пула приложений, используемого для субдомена, имеет разрешения для C: \ ProgramData \Папка Microsoft \ Crypto \ RSA \ MachineKeys.

0 голосов
/ 02 апреля 2012

Я смог сделать это с записями A, а не CNAME.Мне не нужно ставить галочку SSL.Вместо этого я использовал перезапись URL.
<rule name="redirect to https" stopProcessing="true"> <match url="http://(.*)"/> <conditions> <add input="{HTTPS}" pattern="^OFF$"/> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/> </rule>

Вам также необходимо настроить заголовки хоста SSL на всех защищенных поддоменах, используя подстановочный сертификат.

appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']
0 голосов
/ 13 марта 2012

Проверьте настройки DNS и убедитесь, что у вас есть запись A или CNAME для subdomain.mydomain.com.

То, что ваш веб-сервер настроен для обработки определенного имени домена, не означает, что имя хоста / домен действительно существует - система DNS также должна быть настроена для него.

...