acme使用说明 · acmesh-official/acme.sh Wiki · GitHub
一、安装
curl https://get.acme.sh | sh -s email=924066173@qq.com
二、环境变量
/root目录下执行source ~/.bashrc,添加环境变量
三、生成证书
1、配置key
export Ali_Key="xxxxxxxxxxxxxx" export Ali_Secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
RAM 访问控制 (aliyun.com)-创建AccessKey链接
其中
dns_ali为阿里云,自行根据官方dnsapi修改.例如:dns_dp为腾讯云DNSPod.cn 服务商,dns_cf为CLoudflare.export DP_Id="123xxx" export DP_Key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" export CF_Account_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
2、手动 dns 方式生成证书
acme.sh --issue -d codechrono.cn -d www.codechrono.cn --dns dns_dp --server
3、证书生成成功截图

四、安装证书
acme.sh --install-cert -d codechrono.cn -d www.codechrono.cn \
--key-file /etc/nginx/cer/acmesh/codechrono.cn-key.key \
--fullchain-file /etc/nginx/cer/acmesh/codechrono.cn-cert.pem \
--reloadcmd "nginx -s reload"
五、查看证书列表
//证书列表
acme.sh --list
//撤销证书
acme.sh --revoke -d codechrono.cn
//强制更新证书
acme.sh --renew -f -d www.xxx.cn
六、证书验证(nginx配置)-博客
访问 ssllabs.com 输入你的域名,检查 SSL 的配置是否都正常:
SSL Server Test: ruby-china.org (Powered by Qualys SSL Labs)
确保验证结果有 A 以上,否则根据提示调整问题
七、定时任务
1、创建任务
//检查是设置的 cron 任务
crontab -l
//创建 crontab 文件 //acme.sh --cron --force执行可强制批量重新获取证书
crontab -e
//插入 0 0 * * * /path/to/acme.sh --cron > /dev/null
//检查服务是否运行
systemctl status cron # Debian/Ubuntu
systemctl status crond # CentOS/RHEL
#如果未运行,启动服务并设置开机自启:
sudo systemctl start cron
sudo systemctl enable cron
2、手动测试续订
//模拟定时任务的执行流程,检查所有证书是否需要续订(但仅对到期前 30 天的证书自动续订)
/root/.acme.sh/acme.sh --cron
//强制测试所有证书续订,忽略到期时间
/root/.acme.sh/acme.sh --cron --force
观察输出日志:
如果证书未到期,会显示类似:
[Wed Jul 10 12:00:00 CST 2025] Skip next renewal for domain 'example.com'
如果续订成功,会显示:
[Wed Jul 10 12:00:00 CST 2025] Renewed cert for 'example.com'
如果失败,会输出错误原因(如网络问题、DNS 验证失败等)
3、报错处理
到/var/spool/cron目录下,看是否能创建文件,若不能,执行以下命令,重新执行crontab -e 创建任务
//查看是否有特殊的属性
lsattr /var/spool/cron/
//去掉特殊的属性
chattr -ai /var/spool/cron
4、成功截图

参考链接
使用 acme.sh 给 Nginx 安装 Let’ s Encrypt 提供的免费 SSL 证书 · Ruby China
crontab报错: Permission denied和 -bash: chattr: command not found_crontab permission denied
acme.sh不能自动更新证书的问题 | 雨师的博客


2914

被折叠的 条评论
为什么被折叠?



