实战:证书自动续期失败,先检查哪四个环节
证书续期故障往往直到临近到期才被发现。按调度、验证、文件和服务加载四层检查,比重复执行申请命令更容易找出原因。
调度任务是否真的执行
确认 cron 或 systemd timer 的状态、运行账号、PATH 与时间。手工执行成功不代表定时环境相同。保存最近运行记录,并确认失败时有可见日志,而不是输出全部被丢弃。
域名验证入口是否仍然有效
HTTP-01 依赖域名解析和 80 端口验证路径;DNS-01 依赖正确区域、名称和凭据权限。迁移主机、添加 CDN 或全站认证之后,原先可用的验证流程可能失效。
证书文件是否部署到正确位置
签发目录与 Web 服务读取目录可能不同。复制、软链接、容器挂载与权限都要检查。不要把私钥打印到日志;查看到期时间与 SAN 即可判断是否拿到了预期证书。
服务是否读取了新证书
一些服务需要 reload 才会读取新文件。用域名和 SNI 从外部重新握手,确认服务器实际出示的证书。采用续期测试时应阅读工具说明,避免反复正式签发触及服务限额。
操作参考
1 | openssl x509 -in fullchain.pem -noout -dates -ext subjectAltName |
示例占位符需替换为自己的环境。涉及生产服务时先保留备份,阅读命令用途后再执行。
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 SkynetX!