本文可帮助你解决更改配置为使用通配符证书的站点的 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