为什么通过 hosts 文件阻止网站会破坏 HTTPS?

为什么通过 hosts 文件阻止网站会破坏 HTTPS?

我最近决定这个hosts文件尝试一下。

在我的计算机上添加这些条目后,我注意到 HTTPS 连接不安全银行业 站点PayPal。Chrome 显示红色挂锁并警告存在不安全的脚本。我尝试使用 Inspector 查找混合内容脚本,但没有找到任何脚本 - 所有脚本都是通过 HTTPS 加载或由 Chrome 扩展程序添加的。

Chrome HTTPS 警告屏幕截图

从文件中删除新条目hosts可以解决这个问题。有趣的是,只有一些机器+浏览器对受到影响:

  • 我的主要 Windows 10 机器,Chrome 47:✘ 不安全
  • 同一台机器,Chrome 更新至 48:✘ 不安全
  • 同一台机器,另一个 Chrome 47 实例,没有扩展程序:✘ 不安全
  • 同一台机器,Firefox 43:✔ 安全
  • Android 5.1 智能手机、Chrome 47:✔ 安全
  • 另一台 Windows 10 机器,Chrome 47:✘ 不安全

Windows 上的 Chrome 出了什么问题?如何诊断哪个条目导致了此问题?有没有比对该hosts文件进行二分更好的方法?

以下是 Chrome 47 中的 mbank.pl 证书信息:

证书信息截图 证书信息截图

据我所知,受影响的网站有四个:

有一个共同点:它们都使用赛门铁克证书。SSL 实验室测试确认它是正确的。

答案1

Chrome 48 实际上有一个用于调试混合内容问题的新功能。

  1. 打开连接安全面板并点击Details

    连接安全面板

  2. 这将打开“安全概览”面板;单击View requests in Network Panel

    安全概览面板

  3. 重新加载页面以显示混合内容元素:

    混合内容元素

相关内容