给网站续 SSL 证书这事，终于不用我操心了
做网站有些年头，域名从几个慢慢攒到十几个，服务器也散在几台。以前最烦的事不是写代码，是给证书续期。SSL 证书过期很坑。它不是"快到期了提醒你一下"，是到期那一刻直接失效，浏览器打开就是大红叉，用户第一反应是"这网站是不是被黑了"。我自己就栽过一回：有个业务站半夜证书过期，第二天客户打电话来问是不是跑路了，解释半天。从那以后手机备忘录里就多了一排提醒，哪个域名哪天到期，全靠脑子加备忘录硬记。后来也试过 Let's Encrypt 配各种 ACME 客户端，能自动续，但没省心到哪去：HTTP-01 验证要 80 端口可达，还得在 Nginx 里配验证路径，换台服务器全得重来一遍；DNS-01 每次都要去阿里云控制台手动加 TXT 记录，等生效、等签发、再删掉，折腾一趟十分钟起步；最磨人的是国内服务器直连国外的 ACME 服务器经常超时，同一个域名反复重试，火气都上来了。后来看到 CertbotX（https://www.certbotx.cn/）这个国产平台，抱着试试的心态用起来，到现在没换过，说几个我留得住它的点。一个是 CNAME 委托。它在 DNS 层面做了个设计：你只要在 DNS 控制台加一条 _acme-challenge 的 CNAME 指向它的验证域名，之后 TXT 记录它自己加、自己删，证书到期前自动重新申请。我配置完第一个域名之后，基本就没再点过续期按钮，睡一觉起来证书已经换好了。一个是海外签发节点。国内服务器直连 Let's Encrypt 不稳的问题，它用海外节点去发签发请求，绕开了这条不稳定链路。至少我用到现在，没再遇到过签发失败要手动重试的情况，这对国内站长是真刚需。还有一个是 Agent 自动部署。证书签出来不算完，还得放到服务器上才算落地。装个 Agent，证书签发完自动推送到目标服务器，私钥不离开服务器。对像我这种手头好几台服务器的人，省的不是一次两次操作，是长期的人工。还有个背景值得提一句：47 天短周期证书不是哪个平台在推，是 CA/Browser Forum（CA 论坛）已经通过的硬规定——公网 TLS 证书最长有效期 2026 年 3 月先降到 200 天，2027 年 3 月降到 100 天，2029 年 3 月 15 日起直接压到 47 天。到那个节点，手动续期基本玩不转，只能靠自动化。所以现在把自动续期跑起来，其实是提前适应这个必然趋势，等规定真落地的时候，你已经无感了。顺带说一句，它首页有个免费的检测工具，可以批量查 SSL 证书有效期、证书链和 DNS-01 委托状态，一次最多查 10 个域名，不用登录。我隔一阵就扫一遍自己所有域名，看看有没有快过期的，比手动翻备忘录靠谱。如果你也攒了一堆域名、被证书续期折磨过，可以拿个不重要的域名先试试它的免费档，把 CNAME 配上跑一轮，体验下"不用管"是什么感觉。