![IIS 7.5 - 无法在一个 IP 地址下配置两个 SSL 证书?](https://linux22.com/image/678048/IIS%207.5%20-%20%E6%97%A0%E6%B3%95%E5%9C%A8%E4%B8%80%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80%E4%B8%8B%E9%85%8D%E7%BD%AE%E4%B8%A4%E4%B8%AA%20SSL%20%E8%AF%81%E4%B9%A6%EF%BC%9F.png)
我们正在为所有网站设置 HTTPS。不幸的是,我对 IIS 不是很有经验。
我有两个证书,一个是 EV-UCC 证书,其中包含 10 个子域。子域来自两个不同的域,如下所示:
shop.abcdomain.com
www.xzydomain.com
我还有一个域名的通配符证书*.abcdomain.com
两个域都在同一 IIS 服务器和同一 IP 地址下运行。
当我将通配符证书分配给我的某些网站时,一切正常,但是当我想将 EV-UCC 证书分配给 IIS 中同一“网站”集合中的另一个网站时,我收到以下错误
至少有一个其他站点正在使用相同的 HTTPS 绑定,并且该绑定配置了不同的证书
我对此有点困惑。为什么我不能在同一个 IIS 上分配两个不同的证书?一个 IIS 上只能有一个 SSL 证书吗?如果是这样,有没有一种解决方法可以让 IIS 认为他可以携带两个 SSL 证书?
我在 Windows Server 2008 R2 上运行 IIS 7.5
答案1
最初,同一个 IP/端口组合只能分配一个 SSL 证书。这是因为主机头是加密的,HTTP 层无法猜测请求的是哪个主机以及应该向客户端出示哪个证书。
如果是这样,有没有解决方法可以让 IIS 认为他可以携带两个 SSL 证书?
否,Windows Server 2008 R2 中没有解决方法。但是,从 Windows Server 2012 (IIS8) 开始,可以使用以下方法将多个证书绑定到同一 IP/端口组合:服务器名称指示 (SNI)TLS 扩展。与原始 SSL/TLS 不同,SNI 使用未加密的主机标头。IIS8 之前的 IIS 版本不支持未加密的标头。更多阅读:https://docs.microsoft.com/en-us/archive/blogs/kaushal/server-name-indication-sni-with-iis-8-windows-server-2012
或者,您可以将服务绑定到不同的 TCP 端口并为每个端口分配证书。