ACME 自动续签 SSL(阿里云/腾讯云)
进入 腾讯云 DNSPOD 控制台的 API密钥管理:https://console.dnspod.cn/account/token/token
进入 DNSPod Token选项卡,创建密钥
在
.bashrc
文件中添加下面两行命令,可以使用vim
或者编辑器,例如 webstorm 或者 ideabashexport DP_Id="上一步生成的 ID" # 如果是阿里云改成 Ali_Key export DP_Key="上一步生成的 Token" # 如果是阿里云改成 Ali_Secret
保存后运行
source ~/.bashrc
安装 acme.sh
curl https://get.acme.sh | sh
- 或者
wget -O - https://get.acme.sh | sh
修改 ~/.bashrc,添加 acme 的环境变量(选做)
echo 'export PATH="$HOME/.acme.sh/:$PATH"' >> ~/.bashrc
保存后运行
source ~/.bashrc
acme.sh 现在默认使用 ZeroSSL 作为证书颁发机构(CA),使用邮箱注册一个 ACME 账户
注意换成自己的邮箱
acme.sh --register-account -m mlnrmsw@gmail.com
注册成功显示类似的内容
sh[root@VM-16-8-centos docker-compose]# acme.sh --register-account -m mlnrmsw@gmail.com [Wed Oct 2 10:28:08 PM CST 2024] No EAB credentials found for ZeroSSL, let's obtain them [Wed Oct 2 10:28:10 PM CST 2024] Registering account: https://acme.zerossl.com/v2/DV90 [Wed Oct 2 10:28:12 PM CST 2024] Registered [Wed Oct 2 10:28:12 PM CST 2024] ACCOUNT_THUMBPRINT='xxxxx'
申请证书(这里改成自己的域名和自己的子域名,如果没有子域名,第二个
-d
后面可以删掉)acme.sh --issue --dns dns_dp -d leklekzai.com -d *.leklekzai.com
如果是服务器是阿里云,需要将
dns_dp
换成dns_ali
默认情况下,acme.sh 会自动每 60 天检查和续签证书,无需手动修改时间计划
查看定时任务,确认 acme 能自动续签
crontab -l
看到以下命令证明定时任务创建成功了
sh35 15 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
这条 cron 任务的意思是 每天的 15:35 执行一次 /root/.acme.sh/acme.sh --cron --home "/root/.acme.sh" 命令
配置 Nginx 在证书更新后自动重启
sh# 注意:最后一行参数可能不是必要。还需要换成自己的域名和公钥私钥路径 acme.sh --install-cert -d leklekzai.com --ecc \ --fullchain-file /root/server-config/ssl/live/blog.leklekzai.com/fullchain.cer \ --key-file /root/server-config/ssl/live/blog.leklekzai.com/leklekzai.com.key \ --reloadcmd "docker-compose restart nginx"
如果你使用 Docker 容器,可以使用 docker-compose 来重启 Nginx:
--reloadcmd "docker-compose restart nginx"
查看现有证书的详细信息
acme.sh --list
- Main_Domain:申请的主域名
- KeyLength:密钥长度
- SAN_Domains: 其他的附加域名(如 *.example.com)
- CA:证书颁发机构
- Created:证书创建时间
- Renew:下次续签时间
输出类似如下
sh[root@VM-16-8-centos docker-compose]# acme.sh --list Main_Domain KeyLength SAN_Domains CA Created Renew leklekzai.com "ec-256" *.leklekzai.com ZeroSSL.com 2024-10-02T15:14:47Z 2024-11-30T15:14:47Z


热爱编程,开源社区活跃参与者