更改配置为使用通配符证书的站点的 IP/端口绑定会导致同一服务器上的其他站点失败

本文可帮助你解决当更改配置为使用通配符证书的站点的 IP/端口绑定时,同一服务器上的其他站点无法按预期工作的问题。

原始产品版本: Internet Information Services 7.0
原始 KB 数: 2405568

症状

请参考以下方案:

  • 你有一个托管多个网站的 Microsoft Internet Information Services (IIS) 7.0 Web 服务器,并且所有站点都使用相同的 IP 地址和端口。 例如,它们都使用相同的通配符安全套接字层(SSL)证书和主机标头。

如果使用 IIS 管理器删除或更改其中一个站点的证书映射,则所有站点将发生相同的删除或更改。 此外,如果使用 IIS 管理器删除站点,则使用相同 IP/端口绑定的其他站点将不再按预期工作。

原因

之所以出现问题,是因为证书配置指定的 Http.sys SSL 证书绑定只能使用 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 入门