我们在装有 IIS 8 的 Windows Server 2012 R2 上测试 SNI 时遇到以下场景。下面列出的域名和IP地址都是假的,仅供参考。
WEB SITE NAME IP ADDRESS Host Name/Header (SNI) Certificate Domain
==============================================================================
x.domain.com 10.10.0.1 x.domain.com x.domain.com
y.domain.com 10.10.0.1 y.domain.com y.domain.com
当在同一 IP 地址上仅使用 SNI 配置“x.domain.com”和“y.domain.com”及其自己的证书时,两个站点在所有浏览器中都可以正常工作,但是当您选择其中一个站点时,IIS 会显示一条消息,指出“尚未创建默认 SSL 站点。为了支持没有 SNI 功能的浏览器,建议创建一个默认 SSL 站点”。
如果我创建一个默认 SSL 站点(使用 HTTPS 但没有主机名/SNI 的同一 IP 地址上的站点),它会破坏同一 IP 地址上其他 SNI 站点上的证书。如果我添加默认 SSL 站点,如下所示
WEB SITE NAME IP ADDRESS Host Name/Header (SNI) Certificate Domain
==============================================================================
somedomain.com 10.10.0.1 NULL somedomain.com
一旦存在(无论我使用什么证书),该 IP 地址上的其他 SNI 域都会生成证书错误,因为 IIS 显然向用户提供了默认 SSL 站点的证书,而不是 IIS 中为站点指定的证书。
有人可以解释一下如何在 IIS 中正确配置默认 SSL 站点吗?
答案1
我认为,如果您将 somedomain.com 绑定的 IP 地址更改为“全部未分配”而不是 10.10.0.1,它将不再妨碍您的 SNI 站点 [令人惊讶]。