如何修复带有混合内容的网站

(以下内容翻译自MDN)

Firefox 23开始,Firefox默认屏蔽主动混合内容。这遵循IE浏览器(从Versoin 9 开始)和 Chrome 的做法。

这篇文章介绍作为网站开发人员应该注意的地方。

你的网站可能有问题

如果你的网站转发HTTPS页面,所有通过HTTP转发的主动混合内容会被默认屏蔽掉。结果就是,用户看来你的网站可能有问题(比如:iframe 和插件无法载入)。被动混合内容默认可以显示,但是用户也可以设置偏好来屏蔽这类内容。

由于 Chrome 和 IE 已经阻止了混合内容,如果你的网站在这两个浏览器下能够工作正常,那么在 Firefox 下也应该工作正常。

在任何的情况下,知道在Firefox下你的网站是否存在问题的最好的方法是:下载最新版的Firefox,在另一个页面打开你的网站并打开网站控制台,然后查看是否有任何跟混合内容相关的东西被屏蔽。也可以使用在线爬虫工具(比如:SSL-check)或者桌面爬虫软件(比如:HTTPSChecker)去递归地检查你的网站,找出不安全内容的链接。如果没有任何混合内容相关的提示,这说明你的网站很不错,请继续保持!

如何修复你的网站

防止混合内容被屏蔽最好的方法是对所有的内容使用HTTPS来取代HTTP。

如果是你自己的域名,将所有内容都设置成HTTPS并修复所有的链接。一般来说,HTTPS版本的内容本来就是存在的,简单地给链接添加“s” (http:// - https://) 即可。

当然,在某些情况下,对一些媒体来说路径就是不正确的。有一些在线或者线下的工具,比如:linkchecker,可以帮你解决这个问题。

对于其他的域名,如果有HTTPS的版本就能用则用。如果没有 HTTPS,你可以去尝试联系这个域名的人,询问是否能让这些内容对HTTPS可用。