今天整理小站时顺手检查了证书续期。浏览器显示“安全”并不代表续期链路一定正常;真正容易出问题的是几个月前配置过、后来又改动的验证路径和服务重载。
先看证书本身的有效期:
openssl x509 -in fullchain.pem -noout -subject -issuer -dates
然后确认自动任务确实存在,而不是只记得“以前启用过”:
systemctl status certbot.timer
systemctl list-timers certbot.timer
这次最有价值的步骤仍然是模拟续期:
certbot renew --dry-run
模拟成功后,还要关注部署钩子。如果前端服务读取的是证书副本或合并后的 PEM,仅更新 Let’s Encrypt 目录并不会让正在运行的进程自动加载新证书。部署钩子应先生成目标文件、验证配置,再 reload 服务。
最后从外部访问一次 HTTPS,核对域名、证书链和页面响应。证书管理看起来是低频工作,但越是低频,越应该把步骤写成清单和自动化检查,避免到期当天才重新回忆整条链路。