同事突然跑过来说:"你这个图片怎么又裂了?"
我心里一沉。
又是证书过期了。
其实阿里云早就发过短信提醒。但说实话,谁会天天盯着阿里云的短信看?
免费的,也是最贵的
阿里云免费 SSL 证书,不要钱。
但三个月换一次。
换一次的流程:
登控制台 → SSL 证书页面 → 申请 → 填域名 → DNS 验证 → 等通过 → 下载 → 进 CDN 页面 → 找域名 → 选择 or 上传 → 关联 → 确认替换。
九步。每季度一次。一年四次。
从 2023 年到现在,我手动换过不晓得多少次了。
每次都要翻那个比迷宫还复杂的控制台,在"数字证书管理服务"和"CDN"之间来回跳。
这哪是免费证书。这是免费劳力券。
我不是没挣扎过
试过 acme.sh——签证书好使,但推到阿里 CDN 还得自己写脚本,还得维护。
服务器换了,脚本丢了。cron 停了,证书又过期了。
也试过阿里云自己的"托管"——半自动洗衣机,帮你转了,不帮你甩干。
既然都在做面板了
我一直在做一个开源服务器面板,GoPanel 。
有一天又收到那条该死的短信,我看着短信,又看着面板——
为什么不把证书也收了?
Let's Encrypt 签发 + DNS-01 验证 + 到期自动续签 + 自动推到阿里 CDN 。
全自动。签发、续签、推送,一条龙,人不用管。
截图为证
签注的时候,每一步都有实时日志:

这是签注过程中的日志界面。
从 ACME 账号注册、DNS 验证、证书下载,到最后推送到 CDN ,每一步都看得清清楚楚。
比阿里云控制台那个转圈圈强多了。
签完之后,证书列表是这样的:

每个证书旁边都有一个自动续签开关。
打开,就不用管了。
到期前 7 天,系统自动续签。续完自动推到 CDN 。
整个过程,你可能在睡觉,可能在写代码,可能在吃牛肉。
还可以配自动部署规则,签完直接推到阿里 CDN:

选云账号,填目标域名,关联证书。保存之后,每次续签完自动推。
反正不用在阿里云控制台里点来点去。
技术原理
DNS-01 验证:Let's Encrypt 让你在 DNS 里放一段验证码,查到了就认你是域名主人。
为什么不用 HTTP-01:CDN 场景下域名指向阿里边缘节点,不是你的服务器,Let's Encrypt 来了也找不到你。
自动推送:签完调阿里云 CDN API ,新证书塞进去替换旧的,不用登控制台。
技术栈:Go + lego + 阿里云 SDK + cron 。没什么花哨的。
现在
现在我的证书全是 90 天自动续。
推送也是自动的。
阿里云再发短信提醒我换证书,我直接当垃圾短信处理。
偶尔打开 GoPanel 看一眼证书列表,状态都是绿的,推送都是成功的。
那种感觉,就像你终于把一件每个月都要重复做的家务,交给了洗衣机。
虽然洗衣机偶尔也会出点小问题,但至少你不用自己搓了。
关于 GoPanel
这个功能我做在了 GoPanel 里。
GoPanel 是一个开源的服务器管理面板,支持多服务器管理。
不只是证书——网站、容器、数据库、定时任务、文件管理,都能管。
如果你也被三个月一换的证书折磨过,可以试试:
👉 在线演示
最后
这也算是一种进步吧。
至少在换证书这件事上,我终于不用再当阿里云的免费劳动力了。
如果恰好也有兄弟被同样的问题折磨,希望这能帮到你少踩一个坑。
咱长长久久。