站点运营

站点运营:HTTPS 与混合内容自查,别让安全警告挡住访客和蜘蛛

站点装上证书不等于 HTTPS 就做完了,页面里残留的 http 资源可能让浏览器提示不安全甚至拦截脚本。本文说明混合内容的分类、排查方法、常见来源与修复思路,并给出可以定期执行的巡检清单。

站点运营

站点运营:HTTPS 与混合内容自查,别让安全警告挡住访客和蜘蛛

站点装好证书、地址栏挂上小锁,很多人就认为 HTTPS 这件事已经做完了。实际上,只要页面里还混着几个 http:// 开头的图片、脚本或样式,浏览器就可能把整页标记为不安全,甚至直接拦截。对访客来说这是信任问题,对蜘蛛来说则是资源抓取和渲染的不确定性。

什么是混合内容

简单说,就是 HTTPS 页面里引用了 HTTP 资源。浏览器按风险大致分两类:

  • 被动型:图片、视频、音频等。多数浏览器目前会放行,但地址栏的锁会变成“不安全”提示。
  • 主动型:脚本、样式表、iframe、字体、XHR 请求等。这些会被直接拦截,页面样式错乱、功能失效都可能由此而来。
被动内容不等于没有风险,图片和脚本都可能被中间人替换,只是触发拦截的门槛不同。

怎么找出页面里的混合内容

  1. 用浏览器开发者工具打开控制台,刷新页面,看有没有 Mixed Content 字样的告警,告警里通常带具体资源地址。
  2. 在 Network 面板按协议筛选,或直接搜索 http:// 开头的请求。
  3. 抓取几类典型页面:首页、栏目页、文章详情页、搜索结果页、带表单的页面。不同模板引入的资源往往不一样。
  4. 把问题地址整理成清单,标出它出现在哪个模板里,方便一次改一片。

如果站点页面很多,可以先用爬虫工具整站跑一遍,导出所有非 https 的资源引用,再按模板归类。人工一页页翻,很容易漏掉只在某篇旧文章里出现过一次的图片。

常见来源与修复思路

历史内容里的硬编码链接

早期发布的文章里,图片和附件地址常常是写死的 http 链接。数据库里做一次批量替换通常最快,但替换前务必备份,并确认目标站点的 https 版本确实可以正常访问。

第三方脚本与组件

统计代码、客服插件、评论系统、广告位,这些外部资源如果只提供 http 地址,就会持续报错。优先换成对方提供的 https 版本;如果对方不支持,就需要评估是否值得继续使用。

相对协议与配置遗漏

把资源写成 //example.com/a.js 这类相对协议是旧习惯,现在更建议直接写全 https。还要检查反向代理、CDN 和站内搜索的配置,有时后端返回的资源地址仍按 http 生成。

证书本身的问题

证书过期、域名不匹配、只签了主域名却用 www 访问,都会触发警告。建议记录到期时间,提前一到两周续期;有多台服务器或 CDN 节点时,确认证书在每一处都已更新。

把自查做成例行动作

  • 每季度至少整站扫一次混合内容,模板或插件升级后再补一次。
  • 把证书到期监控加进告警,别等访客看到警告才知道。
  • 新页面发布前,在控制台确认没有新增告警。
  • 关注 HSTS:开启后浏览器会强制走 https,配置出错时回退比较麻烦,启用前先确保全站资源都已就绪。

这些检查单次成本不高,但拖久了会变成“这个站看起来不太靠谱”的印象,也会让蜘蛛在抓取时留下额外的失败记录。把它当成和备份、日志一样的基础巡检项目,比出事之后再补救省事得多。