安装后HTTPS不显示绿锁

当我们通过HTTPS访问一个网站的时候,突然有提示:“本页面包含有不安全的内容”。

会询问是否显示“不安全的内容”,

这个时候,就是遇到了有混合内容的页面了。

 

解决办法

1. 修改html代码

  • 本地的图片和脚本通过HTTP显示方式直接调用。可以检索所有通过http://绝对路径方式调用的元素,改用本地相对路径。
  • 访问了一些外网的图片和脚本。譬如某网站www.domain.com,将图片放在另外一个站点img.domain.com,将脚本访问js.domain.com上,请在每个站点都部署HTTPS,然后将原先的http://的引用方式调整为//的引用方式。例如:原先的代码
    <img src="http://img.domain.com/image/1.jpg" /> 修改为 <img src="//img.domain.com/image/1.jpg" />
    。调整后,浏览器会自动选择http还是https来访问外网资源。
  • 如需要使用第三方系统提供的应用服务,请寻求支持HTTPS的服务商,目前百度和Google都已经支持全网HTTPS,而且正规的应用服务上,都会开始支持HTTPS了。

2. HSTS

HTST是一种强制浏览器获取安全资源的机制,即使在面对用户错误(譬如用户用80端口访问到你的网站)以及实现错误(网站开发人员在HTTPS页面上加了不安全的元素)也依然有效。这个特性有效的消除了混合内容的问题,但仅能在你能控制的域名下工作。