SSL 证书应该提前多久续期?
30 天,这是个比较稳妥的提前量。
为什么是 30 天
留出足够的缓冲,去处理「续期失败」这件事。
续期不是每次都能一次成功。域名验证可能失败、DNS 可能还没生效、80 端口可能被临时关掉、CA 可能限流。如果卡在最后一天才发现,你连排查的时间都没有。
提前 30 天,意味着你有将近一个月的时间慢慢修。哪怕第一次失败,也还有好几次机会。
为什么不更早
部分 CA 对续期有窗口限制,比如 Let's Encrypt 在证书剩余 30 天内才允许续。
太早发起请求,可能直接被拒,白白浪费一次尝试。
自动化才是根本
手动续期迟早会忘。正确做法是配好自动任务:
certbot renew加进 cron 或 systemd timer,每天跑一次- 续期成功后自动 reload Nginx,否则新证书不会生效
- 加一条到期监控,剩余 15 天还没续上就告警
注意那个 reload。很多人续期成功了,但服务没重载,还在用内存里的旧证书,直到过期才发现。
节假日是真事
每年都有站点在春节、国庆期间证书过期。值班的人少,处理链路长,一个小问题能拖成几小时故障。
所以到期日落在长假前后的,提前手动续掉,别赌自动化不出问题。
续完要验证
续期成功后,用 SSL 检测跑一遍,确认新证书已经生效、有效期正确、证书链完整。
别只看「续期成功」的日志,那只能说明证书文件换了,不代表线上已经在用。