站点运营

站点运营:证书和 CDN 自查,别在到期那天才发现整站打不开

证书过期、CDN 配置失误、回源协议不匹配,都会让整站访问和抓取同时中断。这篇文章按解析、证书链、域名覆盖、混合内容、回源设置的顺序整理出一套排查清单,并给出续期自动化和日常巡检的具体安排,尽量把这类问题挡在发生之前。

站点运营

站点运营:证书和 CDN 自查,别在到期那天才发现整站打不开

证书到期、CDN 配置变更、回源协议不匹配,这几种情况有个共同点:出问题时整站一起出问题,而且往往发生在你毫无准备的时刻。抓取、收录、用户访问同时受影响,留给排查的时间又很紧。这篇把常见的检查点按顺序理一遍。

证书过期为什么比想象中更麻烦

浏览器遇到证书不受信任时,会给用户一个醒目的拦截页;蜘蛛遇到同样的情况,通常不会给你写邮件,只是把这次访问记成失败。如果连续多次都失败,原本正常的抓取节奏就会被打乱,恢复访问后也需要一段时间才能回到原来的水平。

更麻烦的是,证书问题经常不是“整站全挂”,而是部分子域名、部分 CDN 节点出问题。你在办公室访问正常,用户走其他线路却打不开,这种情况最容易拖到第二天才被发现。

按顺序排查:从解析到证书链

遇到打不开或抓取异常,先按下面的顺序过一遍,避免一上来就怀疑程序代码。

  1. 域名解析:确认 A 记录或 CNAME 指向的是当前在用的服务器或 CDN,没有被误改。
  2. 证书有效期:看的是当前实际生效的那张证书,不是控制台里另一张同名的证书。
  3. 证书链完整性:中间证书缺失时,部分客户端会直接判定失败,而浏览器有时会帮你补上,导致本地看不出问题。
  4. 域名覆盖范围:主域名、带 www、移动端子域名、接口子域名是否都在证书的覆盖列表里。
  5. 跳转与混合内容:HTTPS 页面里如果还引用了 HTTP 的图片或脚本,浏览器会提示不安全,不会直接报错但会被标记。

续期这件事,尽量交给自动流程

靠人工记日期的续期方式,迟早会出问题。常见的做法有几种:

  • 用 ACME 类工具自动签发和续期,把续期时间设在到期前一个月左右,留出失败重试的空间。
  • 续期成功后自动重载服务,避免证书换了但进程还在用旧文件。
  • 续期失败要有告警,而不是等它自然过期。
  • 把提醒同时发给至少两个负责人,避免有人休假时没人处理。

如果是商业证书,采购流程和审批时间也要算进提前量,别把续期安排在到期前一天。

CDN 与反向代理层的几个坑

回源协议不一致

用户到 CDN 是 HTTPS,CDN 回源却用 HTTP,源站如果强制跳转到 HTTPS,就容易形成循环。要么统一协议,要么把源站的跳转规则放行 CDN 的回源请求。

多张证书混用

同一台服务器上跑多个站点时,容易出现配置里挂的还是上一个项目的证书。检查时最好直接访问域名看实际返回的证书信息,而不是只看配置文件。

缓存把旧页面留住

配置调整后,CDN 上的旧缓存可能还在。修改规则后主动清理一次,再观察几天的抓取情况,别指望它自动过期。

把它变成固定动作

证书相关的检查不需要很频繁,但需要固定。可以这样安排:

  • 每月看一次证书剩余有效期,确认自动续期任务正常执行。
  • 每次改 CDN、改解析、换服务器之后,立刻做一次全域名访问测试。
  • 把主域名、移动端、接口等关键地址列成一张表,逐个点开确认。
  • 出现访问失败时,先记录时间和涉及的线路,方便和 CDN 或服务商沟通。
证书和访问可用性是站点运营的底线。内容做得再细,用户和蜘蛛打不开,前面所有工作都归零。

最后提醒一句:恢复访问后不要急着大改结构,先让访问和抓取回到正常状态,观察一两周再安排其他调整。