Поделиться через


Изменение привязки IP-адресов или портов сайта, настроенного на использование подстановочного сертификата, приводит к сбою других сайтов на том же сервере.

Эта статья поможет устранить проблему, из-за которой другие сайты на том же сервере не работают должным образом при изменении привязки IP-адресов или портов сайта, настроенного для использования подстановочного сертификата.

Исходная версия продукта: службы IIS 7.0
Исходный номер базы знаний: 2405568

Симптом

Рассмотрим следующий сценарий.

  • У вас есть веб-сервер Microsoft IIS (IIS) 7.0, на котором размещены несколько веб-сайтов, а все сайты используют один и тот же IP-адрес и порт. Например, все они используют один и тот же подстановочный знак Secure Sockets Layer (SSL) и заголовки узлов.

Если вы используете диспетчер IIS для удаления или изменения сопоставления сертификатов для одного из сайтов, то для всех сайтов произойдет то же удаление или изменение. Кроме того, если вы используете диспетчер IIS для удаления сайта, другие сайты, использующие ту же привязку IP/портов, больше не будут работать должным образом.

Причина

Проблема возникает, так как привязки SSL-сертификата, указанные Http.sys конфигурацией сертификата, могут быть зарегистрированы только с помощью сочетания IP-адресов и портов. Это означает, что любой сайт, использующий один и тот же IP-адрес или порт, должен использовать один и тот же сертификат независимо от имени узла. В этом разделе описаны SSL-сертификаты на сайтах с заголовками узлов.

Дилемма, вызванная этой ситуацией, заключается в том, как Microsoft.Web.Administration обрабатывает сайты с одинаковым сочетанием IP-адресов и портов. Если привязка сайта изменяется, например, удалив сайт или изменив конфигурацию сертификата, она применит изменение ко всем другим сайтам, использующим этот конкретный подстановочный сертификат.

Решение

Проблема возникает только при использовании Microsoft.Web.Administration API для внесения изменений. Например, проблема возникает при использовании диспетчера IIS, так как диспетчер IIS использует Microsoft.Web.Administration API. Чтобы избежать этой проблемы, используйте средство appcmd.exe для удаления привязки сайта или сертификата. Средство appcmd.exe не использует Microsoft.Web.Administration API.

Например, чтобы удалить сайт с именем MyWebsite, выполните следующую команду:

appcmd.exe delete site "MyWebsite"

Ссылки

Начало работы с AppCmd.exe