证书续期 (Certificate Renewal / 续签)
定义
证书续期是在证书到期前申请一张新证书来替换它,最好全自动完成并同时更换密钥对。
证书续期(也常说"续签")就是为同样的域名申请一张新证书,替换即将到期的旧证书。技术上并不存在"延长有效期":CA 会重新签发一张序列号、有效期都全新的证书,复用期已过的验证还要重新做。好的做法是续期时顺便生成新密钥(密钥轮换),并在到期前留足余量,通常在剩余约三分之一有效期时续期,或者按 CA 通过 ARI 给出的建议时间续期。
为什么重要
证书过期会导致浏览器直接报错、API 调用失败,而续期频率还在上升。根据 CA/浏览器论坛 SC-081v3 投票,证书最长有效期在 2026 年 3 月 15 日起为 200 天,2027 年 3 月 15 日起为 100 天,2029 年 3 月 15 日起为 47 天,域名验证的复用期也同步缩短。Let's Encrypt 已于 2025 年 6 月 4 日停止发送到期提醒邮件,监控只能靠自己。宝塔面板申请的 Let's Encrypt 证书可以自动续签;使用云厂商证书时,要确认是否开启了自动续期或自动部署,否则到期前需要手动重新申请并上传。归根结底,要靠 ACME 自动化,再加上针对线上实际证书的独立到期监控。
例子
certbot renew --deploy-hook "systemctl reload nginx"
# 确认服务器实际返回的证书
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
| openssl x509 -noout -enddate
常见误区
- 续期是把原证书的有效期延长。 续期总是产生一张新证书,旧证书在过期或被吊销前依然有效。
- 磁盘上的证书文件换了就算续期完成。 服务必须重新加载,进程仍在使用旧证书是到期故障的常见原因。
- CA 会提醒我。 不要依赖邮件提醒:Let's Encrypt 已经停发,其他 CA 的邮件也可能进了没人看的邮箱。