丽江一家客栈的老板找到我:证书装了,钱也花了,浏览器怎么还提示不安全?我打开一看就明白了:证书没问题,是混合内容在作怪,页面里还引着一堆http的老资源。这是老站做https最常见的坑,今天讲透。
混合内容,就是一半安全一半裸奔
页面本身是https的,可里面的图片、样式、脚本还从http地址加载。这在浏览器眼里就是混着来的,警告照样弹。客人不懂什么混合内容,他只看到不安全的提示,然后关掉页面。老网站改https几乎必中这个坑:正文里的图片是十年前http时代传上去的。模板里写死的引用地址没人动过,证书装得再标准也没用。
查起来不难,三处重点看
头一处是页面里写死的资源地址:图片、视频、样式表,凡是http开头的都要换。第二处是第三方引用:统计代码、在线客服、字体库,老版本的引用地址很多还是http。第三处是后台编辑器:员工上传内容时贴的外链图片。浏览器的开发者工具能看到每个资源的加载情况,哪条是http的清清楚楚。我们给老站做https改造,混合内容排查是固定工序,一处一处扫干净才交付。
根治的办法,一次性说清
资源全部改成https地址,数据库里写死的老链接批量替换。第三方代码升级到支持https的版本。改完再全站爬一遍,确认零残留。我们的质量门禁里有自动化测试和安全审计,混合内容这种残留就是靠工具扫干净的,靠人眼必然有漏。丽江信服无限团队给客户做https改造,交付前跑全站扫描,这条不过关不上线。做完之后你的网站才能真正告别那个灰色提示。
排查混合内容有个笨办法:浏览器按F12看控制台,红色报错一条条改。图片、样式、脚本的链接全换成https开头,改完再刷新1遍确认,半小时基本清净。
混合内容的常见疑问
混合内容会影响搜索排名吗?
会。https是搜索排序的加分项,混合内容导致的警告会削弱这个信号,还直接吓跑访客。
老站图片太多改得动吗?
改得动。数据库批量替换加模板修正,几千张图的老站也能一次清干净,不用手工一张张改。
改完怎么确认没有残留?
用扫描工具全站爬一遍,重点页面人工抽查,浏览器控制台确认没有http资源加载。
总结:把尾巴清干净才算完
https改造不是装个证书就完事,混合内容这条尾巴不清,客人心里的警报就一直在响。查资源、改地址、扫残留,三步走完,你的网站才算真正上了https。你在丽江的网站装了证书还报警的,把网址发来,我们帮你扫一遍。