续期规划要定什么
证书续期需要同时定下提前量、执行窗口与失败处理三件事。常见做法是到期前 30 天自动续期、到期前 14 天人工兜底,并对续期失败单独告警;证书有效期缩短后,提前量要按签发周期重新调整。执行窗口要避开业务高峰与发布冻结期,并且失败时不破坏现状,旧证书与旧配置保持可用直到新证书验证通过。
基本信息
| 自动化阈值 | 剩余 30 天触发自动续期(多数客户端默认) |
|---|---|
| 人工兜底 | 剩余 14 天仍未续期则升级告警 |
| 执行窗口 | 避开业务高峰与发布冻结期 |
| 失败处理 | 保留旧证书直至新证书部署成功 |
典型使用场景
- 多域名批量续期:规划错峰与限流应对
- 有效期缩短后重新计算提前量
- 发布冻结期前的续期预演
- 排错:续期成功但未生效时定位部署环节
- 审计:核对每张证书的到期时间与告警配置
到期检查脚本骨架
到期检查脚本骨架
openssl x509 -in /etc/nginx/ssl/site.crt -noout -enddate # 查看到期时间
openssl x509 -in /etc/nginx/ssl/site.crt -noout -checkend 2592000 # 30 天内到期返回非零
for f in /etc/nginx/ssl/*.crt; do
openssl x509 -in $f -noout -checkend 1209600 || echo "$f 需要人工介入"
done时间节点与动作
| 节点 | 动作 | 目的 |
|---|---|---|
| 剩余 30 天 | 自动续期触发 | 留出重试与排查空间 |
| 剩余 14 天 | 升级为人工告警 | 避免自动化静默失败 |
| 剩余 7 天 | 走应急流程 | 只剩手工签发与部署时间 |
| 剩余 1 天 | 高风险窗口 | 通常已无安全余量 |
续期失败最常见的原因是验证路径变化:域名记录被改、验证目录权限变化、验证端口被占用,因此要把验证链路本身也纳入监控。
落地建议
- 对续期任务的退出码做告警,而不只看任务是否执行
- 续期脚本保持幂等,可重复执行而不产生副作用
- 新证书部署后立即做一次真实握手验证
- 把证书到期时间接入统一的监控面板
只配置自动续期而不配置加载动作,是典型的静默失效场景:新证书已经签好却没有被服务读取,服务会一直使用旧证书直到过期。