我们正在为所有网站设置 HTTPS。不幸的是,我在 IIS 方面并没有真正的经验。
我有两个证书,一个是包含 10 个子域的 EV-UCC-Certificate。子域来自两个不同的域,如下所示:
shop.abcdomain.com
www.xzydomain.com
我也有这些域之一的通配符证书*.abcdomain.com
两个域在同一 IP 地址下的同一 IIS 服务器上运行。
当我将通配符证书分配给我的某些站点时,一切正常,但是当我想将 EV-UCC 证书分配给 IIS 中相同“站点”集合中的另一个站点时,我收到以下错误
至少一个其他站点正在使用相同的 HTTPS 绑定,并且该绑定配置了不同的证书
我对此有点困惑。为什么我不能在同一个 IIS 上分配两个不同的证书?在 IIS 上只能是一个 SSL 证书吗?如果是这样,是否有解决方法让 IIS 认为他可以携带两个 SSL 证书?
我在 Windows Server 2008 R2 上运行 IIS 7.5
最初,只能将一个 SSL 证书分配给相同的 IP/端口组合。这是因为主机头是加密的,HTTP 层无法猜测请求哪个主机以及应该向客户端提供哪个证书。
不,Windows Server 2008 R2 中没有解决方法。但是,从 Windows Server 2012 (IIS8) 开始,可以使用服务器名称指示 (SNI) TLS 扩展将多个证书绑定到同一个 IP/端口组合。与原始 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 端口并将证书分配给每个端口。