IIS 8 - 默认 SSL 站点中断 SNI

Bee*_*ems 6 ssl-certificate sni iis-8 windows-server-2012-r2

我们在使用 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
Run Code Online (Sandbox Code Playgroud)

当仅使用 SNI 配置“x.domain.com”和“y.domain.com”并在同一 IP 地址上使用其自己的证书时,这两个站点在所有浏览器中都可以正常工作,但是当您选择其中一个站点时,IIS 会显示显示一条消息,指出“尚未创建默认 SSL 站点。要支持没有 SNI 功能的浏览器,建议创建默认 SSL 站点”。

SNI 错误

如果我创建默认 SSL 站点(使用 HTTPS 位于同一 IP 地址但没有主机名/SNI 的站点),它会破坏位于同一 IP 地址的其他 SNI 站点上的证书。如果我添加如下所示的默认 SSL 站点

WEB SITE NAME      IP ADDRESS     Host Name/Header (SNI)   Certificate Domain
==============================================================================
somedomain.com     10.10.0.1      NULL                     somedomain.com
Run Code Online (Sandbox Code Playgroud)

一旦存在(无论我使用什么证书),该 IP 地址上的其他 SNI 域都会生成证书错误,因为 IIS 显然正在向用户提供默认 SSL 站点的证书,而不是为该站点指定的证书信息系统。

谁能解释一下如何在 IIS 中正确配置默认 SSL 站点?

fra*_*nzo 5

我认为,如果您将 somedomain.com 绑定的 IP 地址更改为“全部未分配”而不是 10.10.0.1,它将不再妨碍您的 SNI 站点[令人惊讶]。

  • 这个 hack 对我有用,但对 IIS 来说这是非常糟糕的行为。当客户端提供 SNI 主机名而不是特定的 IP/端口绑定时,它应该首先尝试使用 SNI 绑定。而且这种解决方法根本不直观。 (2认同)