这是什么
一旦页面通过 HTTPS 安全提供服务,页面上加载的每一样东西——每一张图片、每一段脚本、每一份样式表、每一个嵌入视频——理应也都通过 HTTPS 加载。「混合内容」指的是主页面是安全的,但其中一个或多个单独元素仍在通过旧的、未加密的 http:// 加载的情况,这通常是因为一个在网站迁移到 HTTPS 时从未更新过的旧图片链接或嵌入代码。
之所以叫「混合」,是因为页面最终同时提供了安全和不安全两种连接的混合,这从很大程度上抵消了当初切换到 HTTPS 的意义。
为什么重要
浏览器把混合内容视为真正的安全隐患,而不只是外观问题——它们通常会悄悄阻止不安全的资源加载(于是一张图片或一段脚本就这么不显示了),或者在地址栏显示一个可见的警告图标,抵消掉那把锁形图标本该带来的信任感。在注重安全的访客眼中,这两种结果都比根本没有 HTTPS 更糟,因为它看起来像是某个地方出了故障,或配置只做了一半。
由于混合内容通常只是页面代码中被忽略的一两个链接造成的(一个旧的图片 URL、一个第三方嵌入),这也是这份清单中一旦被发现就相对容易彻底解决的问题之一。
如何解决
- 在浏览器中打开你的页面,检查开发者控制台(通常用
F12打开,或右键点击 → 检查 → 控制台标签页),寻找提到「混合内容」或「不安全内容」的警告。 - 每条警告都会指出具体是哪个资源(图片、脚本或样式表的 URL)仍在通过
http://加载。 - 把每一个这样的 URL 改成以
https://开头——即便你页面上的具体链接没有更新,大多数资源实际上都可以通过 HTTPS 访问。 - 对于只提供
http://版本的第三方嵌入(视频、组件、广告),检查该服务商是否提供 HTTPS 嵌入代码作为替代。 - 重新加载页面并再次检查控制台,确认警告已经消失。