【问题标题】:IIS 7.5 SSL https - wrong site appears when calling other siteIIS 7.5 SSL https - 调用其他站点时出现错误站点
【发布时间】:2018-09-30 01:04:44
【问题描述】:

IIS 7.5

non-ssl-test.com 仅是端口 80,secure-site.com 仅是端口 443

如果调用正确,两者都可以工作:http://non-ssl-test.com & https://secure-site.com

但如果我致电https://non-ssl-test.com 并接受证书警告,则会出现secure-site.com 的内容。

WTF,我要https://non-ssl-test.com 失败!

【问题讨论】:

    标签: ssl https certificate iis-7.5 url-rewrite-module


    【解决方案1】:

    这正是发生 SSL/TLS 握手时 IP 映射的工作原理。

    https://www.jexusmanager.com/en/latest/tutorials/https-binding.html#ip-based-bindings

    由于 IIS 7.x 没有 SNI,所有 HTTPS 请求都转到基于 IP 的映射。 Web 浏览器会看到您在那里绑定的证书,并显示他们想要的任何警告/错误。 TLS 握手发生得太早,浏览器会立即提示,因此您无法在 IIS 上避免提示。

    如果您希望https://non-ssl-test.com 完全失败,您必须修改站点绑定,使其完全没有基于 IP 的 SSL 绑定。就像其他答案表明的那样,这通常意味着需要另一个 IP 地址,

    • 将两个站点绑定到不同的 IP 地址。
    • 将证书绑定到您喜欢的 IP 地址,而不是另一个。

    然后 HTTPS 请求到没有任何证书的第二个 IP,会如你所愿地失败。

    【讨论】:

      【解决方案2】:

      IIS 直到 IIS 8.0 才获得对 SNI 的支持。如果没有 SNI,IIS 无法理解如何处理同一 IP 地址上的两个不同主机。

      您可以使用较新版本的 Windows 和 IIS,或者为您的站点使用两个单独的 IP 地址。

      【讨论】:

      • 我知道 IIS 7.x 无法处理多个 SSL 站点。有效的是拥有一个 SSL 和多个端口 80 站点。但是不小心用https调用80端口的站点也坏了?
      猜你喜欢
      • 2015-03-31
      • 2023-03-18
      • 2013-04-23
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2012-10-18
      • 2016-09-27
      • 1970-01-01
      相关资源
      最近更新 更多