邯郸网站上了https还报警,混合内容在作怪
邯郸一家外贸公司的老板前些天问我,证书装了,为什么浏览器还报警?我的建议是:页面里还留着不加密的老链接。这种情况叫混合内容,地址栏的小锁会变成感叹号。证书没问题,是页面没改干净。石家庄到邯郸的高铁 1 小时上下,来回一趟不费事。
报警的源头在页面资源上
网站从明文地址换成加密地址以后,页面里的链接未必跟着改。图片、脚本、样式表、字体,任何一处还写着老地址都会触发报警。浏览器对脚本和样式的检查最严,会直接拦掉。丛台区一家公司装完证书 3 天都没发现,直到有客户截图来问。报警不一定显眼,但客户看得见。
有些资源是从外部引入的。第三方的统计代码、地图插件、客服脚本,最容易残留老地址。这类资源你改不了对方,只能换成相对协议或者对方的加密版本。我们做部署时会把第三方脚本全部过一遍。邯山区一家商户的问题就出在一个老旧的客服插件上。
排查顺序从外到内
排查有顺序,乱找最费时间。先用浏览器的控制台看报错,它会直接指出哪条地址不对。然后按图片、脚本、样式、字体的顺序逐个替换。改完清一次缓存再验证。永年一家公司花了 2 小时就清完了。工具本来就给答案,只是没人去看。
顺手把跳转也做规范
改完资源,还要统一入口。把旧地址的访问整体跳转到加密入口,别两个版本并存。并存会让搜索引擎认为是两个站。同时把站内链接和站点地图里的地址一起换掉。我们做部署时会把 301 跳转一并配好。武安一家工厂做完之后,收录稳定,地址栏也干净了。
常见问题
老地址资源会影响安全吗
会。脚本类的那种会被浏览器拦截,页面功能可能直接失效,用户数据也存在风险。
第三方资源改不了怎么办
能换加密版本的换掉。不能换的就换成相对协议,或者改用自己的资源本地化。
改完之后多久生效
改完文件基本马上生效。浏览器和 CDN 有缓存,清一次再验证。
邯郸的企业遇到装了证书还报警,先看控制台,再按资源类型逐个替换。证书只是门票,页面干净才算真的上了锁。你要是方便,把网站地址和报警的页面报一下。要动手之前,信服无限邯郸建议先按你的实际情况排一遍优先级。