IIS 7非SSL站点加载另一个站点的证书

时间:2015-02-26 01:28:28

标签: ssl iis-7

我有一个IIS 7服务器托管几个不同的网站。最近我购买并安装了SSL证书到其中一个站点。 http和https绑定都使用主机头xxx.com和www.xxx.com进行设置。

但现在我发现没有SSL的其他网站正在加载证书,并在通过https访问时显示不受信任的证书错误。

我可以知道如何阻止其他非SSL网站加载证书吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

我认为

  • 您在单个IP地址上使用服务器
  • 在此单一IP地址上为多个名称提供服务
  • 已为某些名称配置了SSL,但未为其他名称配置

这意味着,

  • 服务器正在侦听此特定IP地址以进行SSL连接。
  • 服务器只能在收到客户端(ClientHello)的初始SSL请求后决定应该使用哪个证书。客户端哈希使用SNI(服务器名称指示)告诉服务器它期望的主机名。大多数较新的客户端支持此功能,但例如IE8 / XP不支持。

由于服务器必须侦听此IP地址上的SSL连接,因此它可能会收到主机名的SSL请求,但未配置证书。在这种情况下,服务器可以执行以下操作:

  • 使用已配置的其他证书。这就是您的服务器正在做的事情。这导致客户端关于无效证书的错误,因为证书中的名称与预期名称不匹配。
  • 只需关闭连接或发出一些SSL错误。这将导致客户端上的SSL握手错误,浏览器通常以某种方式显示,以便最终用户无法理解正在进行的操作。对于浏览器,情况只是服务器错误,服务器无法向浏览器提供更详细的信息(这不是SSL协议的一部分)。

如果您不喜欢这两个问题中的任何一个,则必须使用与SSL主机不同的IP地址为非SSL主机提供服务,以便服务器甚至不会在SSL端口上侦听连接非SSL主机。

我希望这个解释有助于解决您的问题。如果您现在有关于服务器配置的具体问题以实现概述的解决方案,您应该在serverfault.com上询问它们。