证书装了,浏览器地址栏还是灰色感叹号,大理做零售的老板对着屏幕直挠头。我的答案是:十有八九是混合内容。页面里只要还挂着 http 的图片、脚本或接口,那把锁就亮不起来。这个坑老站最常见,排查起来不难。小配置解决大问题。
混合内容到底是个啥
页面本身已经走了 https。里头的图片、视频、js 脚本,仍在拿 http 地址加载。浏览器检查一过,安全评级立马往下掉。老站改版后这种情形最常见。数据库里存着十年前的 http 图片链接,一页几十条,锁自然亮不起来。
把隐患揪出来
按下 F12,调出浏览器控制台。Console 里把混合内容列得明明白白,哪张图、哪个脚本一目了然。也有在线检测工具,能整站扫一遍。大理有家做食品批发的客户,改版后扫出两百多条旧链接,一趟清完锁就绿了。工具都是现成摆着的,缺的是肯动手的人。
清理有三条路子
图片和静态资源,把地址批量替换成 https 或相对路径。第三方接口的话,向服务商索要 https 的版本。旧资源实在改不动的,就让它走代理转发。清完强刷缓存再验一回,别叫本地缓存骗了。三步踩完,锁基本都亮了。
顺手把配置分拉上去
锁亮了只是及格线。TLS 版本、HSTS、证书链全不全,检测工具打几分全看这些。SSL 证书部署这活我们做,交付的标准是检测拿到 A 级。含1年免费维护,出了问题有人接手。分数高那么一点,客人瞧不出,安全却是实打实高了些。
锁不亮时的疑问
混合内容对访客有啥实际影响?
有,脚本级的混合内容会被浏览器直接拦下,轮播图、表单说不好就失灵。
非得一张一张改吗?
不用,静态资源做批量替换,数据库里跑一遍替换语句,半天就清得完。
怎么清完了还报警?
CDN 缓存和浏览器缓存还没刷,等缓存过期或手动刷新后再验一回。
新站也会踩这坑不?
新站从建站起全走 https 就没这个问题,老站改版最容易踩。
总结
大理的企业网站,锁图标亮不亮,客户第一眼就看得见。混合内容不吓人,吓人的是没人搭理。把网站地址发给大理信服无限,扫一遍就知道病根在哪,清不清你说了算。老站改版前后各扫上一遍,这样最稳妥。把回头客伺候好,账就算没白算。洱海边的口碑,攒起来慢,砸起来快。