显示SSL警告IIS 7.5的非SSL站点

我有两个网站绑定到一个IP地址(10.10.0.1)在两个不同的域(xyz.example.com和abc.example.com)。 使用xyz.example.com域的证书将HTTPS绑定到端口443,而abc.example.com仅使用HTTP。 这是在IIS 7.5服务器上。

我没有任何问题在http上同时使用https,对xyz.example.com工作正常,但是如果我尝试访问https://abc.example.com ,则会显示xyz.example.com的SSL站点,我不想要。

有没有办法阻止https://abc.example.com ? 即使有单一IP,多个SSL站点的解决scheme,我也找不到任何类似的问题。

这是IIS 7 / 7.5和SSL / TLS(Pre SNI)中的一个限制,因为它不允许您将HTTPS绑定到单个站点,而只是绑定到IP地址/端口组合,因此所有到该IP的通信地址/端口将转到它绑定的站点。

可以用于IIS 7 / 7.5的变通办法

  • 使用重写规则将HTTPSstream量redirect到不安全的站点
  • 为安全站点添加另一个IP地址,并将安全站点绑定到该IP

IIS 8+支持SNI,它是TLS的扩展,允许在握手中传递主机信息以允许服务器显示正确的站点。 这要求客户端支持SNI,但在所有现代浏览器中都是如此。 (在Windows XP上的任何版本的IE都不支持,但在这一点上这不是现代的。)

类似的问题在StackOverflow 这里回答。