梦想博客

使用acme自动配置cdn证书

calendar 2025/07/27
refresh-cw 2025/07/27
636字,2分钟
tag Linux; SSL; acme;

前言 🔗

Linux下使用acme.sh配置Nginx SSL证书后使用了2年后,又开始研究了新的骚玩法

2025年4月12日,网络安全领域迎来重大变革,CA/B论坛通过了关于SSL/TLS证书有效期缩短的提案

《SC-081v3》,提案中规定:从2026年起,SSL/TLS证书的最大有效期将从现在的398天缩短至 47天,并将在2029年全面落实。

这对于开发兼运维的我来说,实在是重大的打击,于是想着能不能通过自动化去实现

自动化实现 🔗

在未了解acme.sh有此功能的前提下,对着阿里云的api文档和go的sdk编写,完成后发现acme.sh居然有此功能卧槽了

查看文档:acme自动部署证书到阿里云cdn

发现这种导入环境变量的方法也似乎并不是啥好方法,查看其conf文件发现底下赫然多着两行

1Le_DeployHook='ali_cdn,'
2SAVED_DEPLOY_ALI_CDN_DOMAIN='cdn.dreamogi.com cloud.dreamogi.com' 这里是多个域名+空格的配置

另外,如果想控制acme.sh申请证书的频率可以通过设置如下来实现,这样就可以按照45天一次的概率进行调整

另外crontab的设置也当进行修改,按照每天0点0分自动执行一次即可!0 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null

1Le_RenewalDays='45'

完成后即可看到证书已经被正常上传到阿里云cdn了



最后 🔗

  • 对于cdn这种额外的服务,其证书应当单独申请,且sni应当仅为必须的域名,例如cdn.xxxx.com,毕竟证书私钥是上传的难保不会出现啥问题

最短证书时间缩短为47天,谁没事一个月去换一次证书啊,尤其是还要更新cdn等这些额外服务的证书,这真是一个说大不大说小不小的工作量,这样来看免费证书必将成为主流