站点运营

站点运营:HTTPS 证书与混合内容自查,别让安全告警打断抓取与渲染

证书过期、证书链不完整、页面里混着 http 资源,这类问题平时没有感觉,出事时却是整片页面无法访问。本文梳理证书有效期、链证书、域名覆盖与混合内容的常见来源,给出一份可以照着做的自查与修复顺序,帮助站点减少无谓的抓取失败与渲染差异。

站点运营

站点运营:HTTPS 证书与混合内容自查,别让安全告警打断抓取与渲染

很多站点功能上没问题,但蜘蛛抓取和用户访问偶尔会“断一下”,原因往往出在传输层:证书过期、证书链不完整、页面里混着 http 资源。这类问题不会天天出现,一旦出现就是整站或整片页面的访问失败,事后排查又容易被忽略,因为内容、结构、内链看上去都是好的。

先确认证书本身是否可靠

  • 有效期:证书过期当天,浏览器和蜘蛛都会直接中断连接,日志上表现为大量连接失败或超时,而不是 404。
  • 证书链:只部署了站点证书、漏掉中间证书时,一部分客户端报错、另一部分却正常,很容易被误判成“蜘蛛抽风”。
  • 域名覆盖:主域名、带 www 的域名、子域名是否都在证书的 SAN 列表里,避免某个栏目域名单独报错。
  • SNI 与多证书:同一 IP 上跑多个站点时,确认默认证书不会把访客带到错误站点。

再检查页面里有没有混合内容

HTTPS 页面里引用 http 的图片、脚本、样式或 iframe,浏览器会拦截或降级处理。对蜘蛛而言,被拦掉的资源拿不到,渲染出来的页面结构与预期不一致,可能只看到一个半成品,进而在判断页面价值时出现偏差。

混合内容的常见来源

  • 编辑器里粘贴的外链图片、视频或图床地址
  • 早期模板中硬编码的 http:// 资源
  • 第三方统计、客服、字体、公共库脚本
  • 站点地图、RSS、结构化数据里残留的 http 链接
  • 从旧站迁移时批量带过来的绝对路径

这些来源有个共同点:它们不在你的主模板里,而是散落在内容正文、组件配置和数据库字段中,所以只在首页检查通常发现不了。

可以照做的自查与修复顺序

  1. 用命令行工具或在线检测服务查看证书链是否完整,确认中间证书已一并部署。
  2. 为证书设置到期提醒,建议提前 30 天,别依赖“自动续期一定成功”。
  3. 在代码库和数据库里全局搜索 http:// 引用,逐条替换为 https 或相对路径。
  4. 确认 http 到 https 的跳转是单次 301,不要形成多级链条。
  5. 检查 HSTS 是否误开在测试环境或还未完全切换的域名上。
  6. 改完之后抽查几个典型页面,同时看浏览器控制台和服务器抓取日志。
证书和混合内容属于“平时无感、出事致命”的一类问题,更适合放进固定巡检清单,而不是等报警了再临时查。

容易踩的细节

  • CDN 与源站证书不同步:源站换了证书,边缘节点还在用旧的,用户侧看到的仍是旧证书。
  • 自动续期失败:验证文件被规则拦截、目录权限不对,续期静默失败,直到过期才被发现。
  • 多节点只更新了一部分:负载均衡后面有几台机器,证书只换了一台。
  • 回源使用 http:内部链路看似无所谓,但配置不当时会带来跳转或资源加载异常。
  • 换证书后没有重载服务:文件已经替换,进程仍然抱着旧证书不放。

处理顺序上,建议先保证“能连上”,再处理“内容一致”。也就是先把证书链路和跳转理顺,让蜘蛛至少能正常拿到响应;然后再逐页清理混合内容,减少渲染差异。整个过程不需要一次做完,可以按栏目分批推进,每批改完观察一段抓取日志,确认失败率下降,再继续下一批。