首批199天证书开始到期:SSL续期最怕的不是报错,是“没报错”

源自18位全网作者

09:41

如果你的业务还在HTTPS上跑,2026年的9月底大概率会是"短命证书"这门新课的第一次随堂测验。3月15日新规生效后签发的那批最长199天的证书,正陆续撞线。知乎续期任务天天在跑、日志安安静静、监控一个告警都没有——然后某个周一早上,用户打开你的官网,看到"您的连接不是私密连接"。

证书过期这件事的老经验已经失效了。过去它是一年一度的例行公事,忘了顶多补个夜班;现在它是一场"静默故障":出事的那一环,往往在你所有看惯了的正常信号里。

规则不是一刀切,是阶梯式收紧

先对齐时间表,这是CA/B论坛SC-081v3决议已经落地的硬节点:

生效时间

公开可信证书最长有效期

2026-03-15 起

200天(各CA实际签发199天,留一天余量)

2027-03-15 起

100天

2029-03-15 起

47天

有一个时间差信息,多数解读没讲:你现在续出来的这张199天证书,下次到期会落在2027年4月中旬——那时100天新规已经生效知乎也就是说,这一年你刚刚适应的续期节奏,下一轮直接对折。今年靠"手动但仔细"勉强过关的团队,2027年会原形毕露。

社区端对这次变化的体感也很具体:有运维人发帖说自己的nginx配置千年不敢改,问的就是SSL证书怎么实现自动续期。知乎也有人在替公司算账:阿里云的免费测试证书已经缩到3个月一张,付费的一张要68元一年。知乎"证书三个月一换"已经从规则文件里走进了普通团队的日历。

静默失败有三类,每一类都伪装成"正常"

汇总近两个月的社区事故复盘和避坑帖,证书过期的事故大多不是工具坏了,而是下面三类"看起来正常"。

第一类:续期根本没执行。 典型信号是"手动跑百分百成功、定时任务一跑就没动静"。原因高度集中:cron环境极简,PATH里没有certbot/acme.sh,DNS密钥只在终端临时export过,定时任务读不到;Ubuntu、Rocky等新发行版把certbot交给systemd定时器管,装完机timer压根没enable,看似配置正常实则从未执行;服务器时间偏差超过5分钟,ACME签名校验被静默驳回,不报错。知乎同一域名短时间高频测试签发,撞上CA限流,还会直接跳过本轮且不留提示。

第二类:续成功了,线上没换。 磁盘上的证书文件已经是新的,但Nginx常驻内存没有reload,或者deploy-hook写错了路径。知乎你在服务器上ls看文件、看mtime都觉得"续上了",浏览器里跑的还是那张过期证书。这是最反直觉的一类:本地证据齐全,线上照样过期。

第三类:一处换了,全链路没换。 证书的落点从来不止一台服务器:CDN、负载均衡、对象存储、WAF都可能各自持有一份终止TLS。源站换新了,CDN边缘节点还在吐旧证书。更隐蔽的是小程序、API网关这类场景:首页一切正常,全站接口却因证书过期瞬间全挂。知乎等用户报障你才会去查后端,因为没有一个入口会"红给你看"。

唯一可信的证据:线上吐出来的那张证书

三类坑收敛成一条监控原则:别看你磁盘上的文件,看443端口对外提供的那张证书。 一条命令就够:

```bash
echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -dates
```

看 `notAfter`,而不是看 `/etc/letsencrypt/live/` 下证书的mtime。然后把这条检查挪到外部拨测里,按"剩余天数<30天"告警,覆盖每一个TLS终止点:源站一份、CDN边缘一份、负载均衡一份。定时任务跑没跑、日志有没有报错,都只是辅助证据。Certimate那位把续期彻底交给自动化的作者,在文章结尾把标准说得很直白——自动化只有在失败能被发现时才算完成。知乎

9月前的五步自查,一晚上能过完

  1. 盘家底:对照续期指引里的五项清单——每张证书的notBefore/notAfter和签发CA;域名SAN与实际对外服务地址的对应关系;证书落盘目录、Web服务类型和加载方式;是否还有CDN/LB/安全设备在终止TLS;每份证书有没有明确的责任人。知乎

  2. 干跑一次:`certbot renew --dry-run` 或 `acme.sh --renew --force -d 域名`,盯退出码和日志。"手动成功、计划任务失败"本身就是答案。

  3. 查调度器:`systemctl list-timers | grep -i cert` 确认定时器active;`crontab -l` 和 `/etc/cron.d/` 里找acme的任务,确认执行用户的环境变量、PATH可用。

  4. 换监控源:把拨测从"续期脚本执行了没"改成"线上证书还剩几天",NTP时间同步顺手检查一遍。

  5. 定节奏:这一轮到期潮,到期前30天内完成续期;同时按2027年3月的100天节点倒推流程——需要人工审核的OV/EV证书、ACME接不住的特殊场景,单独排期,别指望全自动一把梭。知乎

你在哪个规模,就用哪一档解法

  • 单站单服务器:Caddy或云平台自带的自动续期就够,别为了"统一管理"再架一套系统——工具每多一个,备份、升级、权限就多一份负担。这是一手用Certimate管着几十个域名的作者自己的结论。知乎他对自家部署的最高评价就是"能用就没动"。

  • 多域名、混合部署(服务器+CDN+对象存储):开源自托管的证书管理工具可以把申请、部署、续期、监控串成一条流程,把"最后几公里"的换证书动作接走。但作者的两个提醒值得照抄:DNS和云平台凭据都集中在自己实例里,先限权限、护管理入口、做备份;拿一个非关键域名先跑通全流程,确认Nginx和云产品上实际生效了,再接管主站。

  • 几十上百张证书、多团队混合云:重点不是再找一个续期脚本,而是集中台账加生命周期编排,行业里已经在讨论订阅期内自动循环签发多张短周期证书的玩法。知乎否则2027年100天节点一到,续期频率会把人肉流程直接压垮。

收尾:盯住两个时间点

第一个要盯的是9月底前后——首批199天证书的到期高峰,接下来两三周社区里"网站突然不安全"的事故帖大概率会集中冒出来,那既是别人的教训也是你的预警信号。第二个是2027年3月15日,100天生效,才是"手动仔细"模式真正的死刑期。

短命证书不是给运维加活,是给证书管理方式做筛选:它逼着每个团队把"日历提醒+人肉续期"换成"系统续期+外部监控"。今年9月的这波到期潮,正好当模拟考。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章