HTTPS 证书自动续期方案:acme.sh + FreeSSL,配置一次彻底离手
做网站的都懂:HTTPS 证书 90 天到期,忘记续 = 用户浏览器一片红,老板夺命连环 call。分享一个跑在生产上的全自动方案:acme.sh + FreeSSL,配置一次,到期自动续期 + 自动 reload nginx,从此证书这个事彻底离手。
为什么选这套组合
• FreeSSL 国内直连,不折腾 • acme.sh GitHub 4 万+ star,久经考验 • webroot 验证,续期不停机 • ECDSA 证书,更小更快
三步搞定
1. 安装 acme.sh
国内服务器自动走 Gitee 源,安装命令: curl https://get.acme.sh | sh -s emAIl=你的邮箱
2. 在 freessl.cn 免费领取 EAB 凭证并注册账户
访问 freessl.cn,注册账号后创建 EAB 凭证,记录 Key ID 和 HMAC Key。
3. 一条命令签发,install-cert 自动部署 + reload
acme.sh --register-account -m 你的邮箱 \ --server https://acme.freessl.cn/v2/DV90/directory/你的EAB_KID \ --eab-kid 你的EAB_KID \ --eab-hmac-key 你的EAB_HMAC_KEY acme.sh --issue -d 你的域名 --webroot /www/wwwroot/你的站点目录 acme.sh --install-cert -d 你的域名 \ --key-file /path/to/privkey.pem \ --fullchain-file /path/to/fullchain.pem \ --reloadcmd "nginx -s reload"
自动续期才是灵魂
装完自动加 cron,每天巡检,90 天证书第 60 天自动续,续完自动部署 reload。 换域名只改一行配置,新域名自动进续期队列。
血泪避坑
• nginx 里 acme-challenge 路径千万别删! • ECC 证书手动操作要带 --ecc • cron 日志默认丢弃,记得重定向
配置一次,证书这个事就彻底不用管了。
