Подтвердить что ты не робот

Несколько поддоменов с SSL в IIS

В настоящее время я должен иметь 2 поддомена в одном домене под SSL.
Оба субдомена (www и affiliate) находятся на одном сервере IIS под одним и тем же IP-адресом, и каждый из них указал значение заголовка узла (www.mydomain.com и affiliate.mydomain.com)

Первый субдомен (www), который является стандартным, отлично работает с SSL и без него.
Второй субдомен отлично работает под HTTP.

Проблема в том, что я только что купил и установил SSL-сертификат для дочернего субдомена, а когда вы перейдете на https://affiliate.mydomain.com, вы получите перенаправлено на http://www.mydomain.com

Я предполагаю, что проблема заключается в том, что я не могу указать значение заголовка хоста для SSL? (в диалоговом окне, где я обычно устанавливаю значение заголовка хоста, этот параметр не указан в нижней части, посвященной SSL).

Что я могу сделать по этому поводу? Должен ли я иметь каждый поддомен в отдельном IP-адресе? Это вообще не выполнимо?

Спасибо! Daniel

4b9b3361

Ответ 1

"Я предполагаю, что проблема кроется в факт, что я не могу указать хост значение заголовка для SSL"

Вы правильно поняли. Вам понадобятся два IP-адреса.

Ответ 2

Проблема имеет основополагающее значение для работы HTTPS.

Виртуальный хостинг основан на заголовке "Host", представленном в HTTP/1.1. Эта часть протокола HTTP, но с точки зрения протокола SSL, уровень HTTP является "данными приложения" и не может быть передан до тех пор, пока не будет завершено подтверждение SSL.

Однако сертификат сервера отображается во время рукопожатия. HTTP-сервер еще не видел заголовок "Host", поэтому он не знал, какой сертификат отправить. Использование отдельного IP-адреса работает, потому что это видно на уровне IP ниже SSL.


Обновление: существует новое расширение TLS, которое позволяет клиентам указывать сервер, который они намерены использовать во время рукопожатия. Подробнее см. dlongley.

Ответ 3

Я не уверен, какой веб-сервер вы используете, но в IIS 6 на сервере Windows 2003 вы можете использовать заголовки хостов для сайтов SSL, что позволяет им находиться на одном IP-адресе.

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/596b9108-b1a7-494d-885d-f8941b07554c.mspx? MFR = истинные

EDIT: Это будет работать, только если сертификат является подстановочным сертификатом. В противном случае субдомен "партнер" попытается использовать тот же сертификат, что и поддомен "www", и посетители получат предупреждение.

Ответ 4

Это, вероятно, не поможет, но, надеюсь, это информативно.

Существует расширение для протокола TLS, используемого некоторыми клиентами TLS, называемым именем сервера (SNI). Это расширение позволяет клиентам TLS указывать имя хоста сервера, с которым они пытаются связаться. Поэтому, когда клиент подключается и отправляет сообщение ClientHello в протоколе TLS, сервер может решить, с каким сертификатом отвечать. Это делает виртуальные серверы SSL/TLS возможными на одном IP-адресе.

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

Ответ 5

В конкретной ситуации, где вам нужны 2 поддомена того же домена, для сертификата WildCard есть. Я использую подстановочный сертификат с 3 лет для десятков сайтов, и ни один клиент сообщил об ошибках

Если у вас есть что-то, указывающее, что сертификат предназначен для "www", то ваш сертификат не является подлинным подстановочным сертификатом, или вы испытываете какие-то проблемы с кешированием браузера или используете 2 копии сертификата, и вы обновляете только один из них, или вы забыли перезапустить сервер, или.. я не знаю:)