网站上了https还报警,海口多半栽在混合内容
有海口一家做跨境电商的老板,证书买的是最高那一档,装完浏览器照样标不安全。我的答案是:你八成是混合内容,全站还有一部分资源走 http。加密的页面里嵌一个不加密的脚本,浏览器直接判定整页不安全。
所谓的混合内容长什么样子
典型情况是三种:页面里的图片还是 http 开头的地址,第三方统计或客服脚本还是 http,接口请求指向了 http 后端。只要有一处,页面上那个锁标志就点不亮。
还有一种更隐蔽:CSS 里写的字体和背景图走 http,页面肉眼看不出来,报警照样出。
怎么一次把问题全部找出来
浏览器开发者工具的网络面板按类型筛一遍,http 的请求一目了然。也可以用在线检测工具扫一次,两个一起用,漏网的很少。这一步花十分钟,能省掉后面反复排查的两小时。
替换要分三个层次来做才净
- 站内资源:上传目录和数据库里的地址统一改 https
- 第三方资源:换对方的 https 版或支持 https 的脚本
- 后端接口:内部调用改 https 或在网关跳转
第一层最常见也最好改,数据库里那些历史数据里存的 http 地址是重灾区,一个批量更新脚本就能跑完。改完记得清缓存,不然你看到的还是旧的。
还有一处最容易忽略的细节
第三方脚本如果对方只支持 http,唯一的办法是换或者去掉。硬留着的话前面全白做。上线前拿手机真机试一遍,比在电脑上测更靠谱,苹果和安卓的判定逻辑不完全一样。
我们做网站交付时,https 部署完会用几款主流浏览器加手机真机各测一遍,把报告给客户过目。我们累计上线300多个小程序、交付100多个商业APP,这种基础检查属于交付里最不起眼但最省纠纷的一段。
混合内容的常见疑问
警告消不掉会影响排名吗?
会影响用户信任和收录率,比排名本身更麻烦。混合内容清干净是必须做的。
统计脚本没有https版怎么办?
换用支持 https 的同类工具,或者干脆不用这类第三方脚本,自己记日志。
改完还是报警是什么原因?
多半有缓存没清,或者某张图片是外链来的没权限改。逐层按面板提示定位。
秀英区那批做外贸的站,装了证书之后控制台还在报红,八成是页面里还留着 http 的图片或外链。我们做这类排查 17 年,1 年免费维护期内这类小改动直接改,不用另外收费。
总结
海口企业上 https 之后还有警告,先查混合内容,再谈别的。把你的网站地址发到海口信服无限,我们扫一遍把问题位置列成清单给你,你自己按单子改,改不动的地方我们接手。