站点运营

HTTPS 证书过期前,蜘蛛可能先停止抓取

HTTPS 证书过期不只是浏览器弹警告,蜘蛛也可能因握手失败暂停抓取。本文梳理证书有效期、证书链、混合内容和续期监控等自查点,帮助站点运营者在证书出问题前把入口守住。

站点运营

HTTPS 证书过期前,蜘蛛可能先停止抓取

不少站点运营者把 HTTPS 证书当成“浏览器的事”,觉得只要用户访问时没弹红色警告就没问题。但对搜索蜘蛛来说,证书是建立连接的第一步。证书一旦过期、链不完整或域名不匹配,蜘蛛可能在握手阶段就终止访问,连页面内容都拿不到。

证书问题为什么会影响蜘蛛

蜘蛛抓取和普通用户访问一样,需要先完成 TLS 握手。如果证书无效,抓取工具通常不会像用户那样点击“继续访问”,而是直接记录为失败。短时间内的失败可能只是抓取延迟,但如果证书问题持续数天,站点在搜索端的表现就可能出现波动:已收录页面被重新评估,新页面发现变慢,抓取频率下降。

更麻烦的是,证书错误有时只出现在部分节点或部分蜘蛛身上。比如 CDN 边缘节点证书没更新,源站正常;或者移动端蜘蛛和桌面端蜘蛛走的线路不同。只看自己浏览器是否正常,容易漏掉问题。

常见证书问题清单

  • 证书过期:最常见也最容易避免,但忘记续期仍然时有发生。
  • 证书链不完整:只部署了站点证书,缺少中间证书,部分客户端和蜘蛛会握手失败。
  • 域名不匹配:证书只签了 example.com,但蜘蛛访问的是 www.example.com,或反之。
  • 混合内容:页面是 HTTPS,但图片、脚本、样式仍用 HTTP 地址,浏览器会警告,蜘蛛也可能拿不到资源。
  • 服务器时间偏差:服务器时间不准,可能让证书被误判为未生效或已过期。
  • 自签名证书:公开站点使用自签名证书,蜘蛛通常不会信任。

自查步骤

  1. 核对证书有效期,设置至少提前 30 天提醒,不要只依赖到期当天。
  2. 用在线工具或命令行检查证书链,确认中间证书完整。
  3. 分别测试裸域、www、移动端域名、CDN 域名是否都在证书覆盖范围内。
  4. 检查页面源码中的资源地址,把 HTTP 链接替换为 HTTPS 或相对协议链接。
  5. 确认服务器时间与标准时间同步,避免时间偏差导致证书校验失败。
  6. 如果使用 CDN,确认 CDN 侧证书和回源证书都已更新,而不是只更新源站。

混合内容与重定向

证书没问题,不代表页面完全安全。混合内容会让浏览器显示“不安全”,部分抓取工具也会因为资源加载失败而无法完整渲染页面。尤其是图片和 JS 文件,如果仍走 HTTP,蜘蛛可能拿不到关键内容。

另外,从 HTTP 到 HTTPS 的跳转要尽量一步到位,避免多次跳转。蜘蛛对连续跳转的耐心有限,跳转链太长会增加抓取失败的概率。如果站点已经全站 HTTPS,建议用 301 把 HTTP 版本稳定地指向 HTTPS 版本,并保持路径一致。

续期、监控与恢复

证书续期最好自动化,比如使用 ACME 客户端配合定时任务。但自动化不等于不用检查,仍然需要监控续期是否成功、证书是否部署到了所有节点。可以设置两种提醒:到期前提醒和握手失败告警。

证书过期后,即使很快恢复,也建议查看一段时间内的抓取日志,确认蜘蛛是否重新正常访问,而不是只等搜索端自己恢复。

恢复后可以主动提交主要页面,帮助蜘蛛重新发现。但不要短时间内大量提交所有 URL,优先提交首页、栏目页和近期更新的内容页。提交只是辅助,前提是证书和服务器已经稳定。

小结

HTTPS 证书是蜘蛛访问站点的入口。把有效期、证书链、域名覆盖、混合内容和续期监控纳入日常检查,比等到抓取异常再去排查更省事。站点运营不需要天天盯着证书,但至少要知道它什么时候到期、由谁负责更新。