这是我在 Chrome 中目睹的一个奇怪现象。
几天前,我注意到我的博客失去了样式。可能无法加载其样式表或其他资源,对吧?我几年前就设置了它,直到最近它还可以正常工作。
我使用 Chrome 的 DevTools 进行调查,似乎加载https://evilcorp.blog.ram.rachum.com/css/fonts.css
失败。
我与我的虚拟主机支持人员进行了交谈,结果发现没有配置 HTTPS 站点。经过更多调查,它从未配置为 HTTPS。
我再次查看了我博客的 HTML 源代码。它引用的字体文件是http://evilcorp.blog.ram.rachum.com/css/fonts.css
,请注意缺少https
. 该链接确实有效。
我不明白为什么 Chrome 会在明确给出 HTTP URL 时尝试加载 HTTPS 版本。这是新功能吗?我能做些什么?
您的博客有它的地址
https://blog.ram.rachum.com/
,因此这是一个 HTTPS 页面。当 HTTPS 页面包含 HTTP 内容时,攻击者可以读取或修改 HTTP 部分,即使主页是通过 HTTPS 提供的。当 HTTPS 页面具有 HTTP 内容时,其内容称为“混合”。该网页仅部分加密,因为某些内容是通过 HTTP 未加密检索的,因此被认为是不安全的。
现代浏览器现在阻止混合内容为不安全,实际上禁用 HTTP 链接。
在 Chrome 中,您可以使用以下命令强制它:
但是你不能强迫你的用户像那样运行 Chrome。
最好的解决方案是将您的页面转换为仅使用 HTTPS 链接。