Chrome 强制对资源使用 HTTPS?

Chrome 强制对资源使用 HTTPS?

这是我在 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 版本。这是新功能吗?我该怎么办?

答案1

您的博客地址为https://blog.ram.rachum.com/,因此这是一个 HTTPS 页面。

当 HTTPS 页面包含 HTTP 内容时,即使主页是通过 HTTPS 提供的,HTTP 部分也可能会被攻击者读取或修改。当 HTTPS 页面包含 HTTP 内容时,其内容被称为“混合”。网页仅部分加密,因为部分内容是通过 HTTP 未加密检索的,因此被视为不安全的。

如今,现代浏览器会将混合内容视为不安全内容进行阻止,实际上是禁用 HTTP 链接。

在 Chrome 中,你可以使用以下命令强制执行:

chrome.exe --allow-running-insecure-content

但你不能强迫你的用户这样运行 Chrome。

最好的解决方案是将您的页面转换为仅使用 HTTPS 链接。

相关内容