如何在不破坏生产环境的情况下更新 SSL 证书
SSL 证书更新听起来是例行公事,直到第一次静默更新失败,客户在团队注意到之前就看到了浏览器警告。我过去把证书当作日历提醒来对待。现在我把它们当作一次小型生产发布来对待,因为故障模式是非常公开的。 我检查的第一件事是证书实际存在的位置。小型系统通常有一个公共 Nginx 盒子。较大的设置可能有一个负载均衡器、CDN、Kubernetes 入口、邮件服务、API 回调域和一个没人记得的旧管理主机名。只更新明显的域名会导致一个端点断开一周。 对于自动更新,我需要证明更新任务已运行并且服务已重新加载新证书。一个写入了新文件但从未重新加载 Nginx 的 certbot 任务是不完整的。我还检查完整的证书链,而不仅仅是叶子证书,因为即使浏览器看起来没问题,一些客户端也会因链问题而失败。暂存测试也有帮助。如果 ACME 挑战依赖于 Webroot、防火墙规则、DNS 记录或代理路径,我希望在真正的…