关于 ssl:Internet Explorer 10 “此页面无法显示” 加载我的网站时

Internet Explorer 10 "This page cannot be displayed" When loading my site

这是发生了什么:

我管理的一个网站只能在 IE11、Chrome 和 Firefox 中运行。我需要让它在 IE10 上运行,但在 IE10 上它给了我"无法显示此页面"

到目前为止我尝试了什么:

  • 在 Browserstack.com 上进行了测试,确认该问题与 HTTPS 或 SSL/TSL 有关。当我在 HTTPS 上尝试时,网站不会加载,当我在 HTTP 上尝试时,它会加载。 (但是我需要 HTTPS,因为有注册表单等等)。
  • 我已经搜索了很多,看看是否有人对 IE10 有类似的问题,很难找到任何关于此的内容。
  • 我有一个将用户从 HTTP 重定向到 HTTPS 的代码,这就是为什么当我使用普通 HTTP 加载它时它无法在 IE10 上运行的原因,它在删除此代码后以普通 HTTP 加载,但是 HTTPS 问题仍然存在。
  • 因为我所有的 css 文件都是通过 HTTPS 链接的,所以该站点不会在 HTTP 上加载 CSS 文件,这个特殊问题我可以自己解决,但我认为知道它可能很有用。

可以帮助您的详细信息

  • 这个 Web 系统是用 PHP 在 MVC 框架中创建的。
  • 我们的 SSL/TLS 证书由 COMODO CA Limited 颁发
  • 我们的服务器没有专用 IP 地址,因此不支持 SNI 的浏览器可能会给出错误的安全警告,但 IE10 确实支持 SNI
  • 这是我拥有(并取出)用于将用户从 HTTP 重定向到 HTTPS 的代码

    if($_SERVER["HTTPS"] !="on" && ($_SERVER["HTTP_HOST"] =="website.net" || $_SERVER["HTTP_HOST"] =="www.website.net") )
    {
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
    exit();
    }

  • 当仍然尝试从 HTTPS 访问它时,IE10 建议我确保启用 SSL 和 TLS 协议,如果这能解决问题,那就太好了,但我怀疑所有将访问该网站的用户都知道该怎么做这个,理想情况下我希望它可以工作而不必做这个解决方法。

  • 我有一个用户尝试使用 WebSense 使用 Chrome 访问该网站,但它拒绝访问该网站并显示以下消息:"验证拒绝:第一次握手消息后对等方断开连接:可能 SSL/TLS 协议级别太低或不支持服务器"。

如果您需要任何其他信息来帮助我解决这个问题,请尽管询问,感谢您的支持!


我想我找到了问题的根源,在 ssllabs 上运行了一些测试后,我发现我的服务器只支持 TLS 版本 1.1 和 1.2,而 IE10 默认只启用了 TLS 1.0,TLS 1.0 被认为不再安全的协议,它具有已知的加密弱点,这些弱点可能导致加密会话中敏感数据的泄露。
为了保持 PCI 合规性,我们不得不禁用 TLS 1.0 仅对 Web 的支持,但保留它对电子邮件的支持。 IE10 确实支持 TLS 版本 1.1 和 1.2,但默认仅启用 1.0,通过 https 访问我的网站的用户没有管理权限来升级或更改这些设置,他们需要他们的 IT 人员升级他们的浏览器或更改这些安全性设置。

话虽如此,这个问题并没有真正解决,但我确实找到了问题的原因。没什么可做的,我无法在我的服务器上重新启用 TLS 1.0,因为它不安全,所以 IE10 用户只需要升级,让任何尝试使用 SSL 运行网站的人都知道这一点,如果你有您的服务器支持 TLS 1.0,那么它不符合 PCI 并且不安全,但是如果您不这样做,所有没有管理权限(办公环境)的 IE10 用户将无法通过 https 访问您的站点。希望这会有所帮助。