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
2、报错处理
到/var/spool/cron目录下,看是否能创建文件,若不能,执行以下命令,重新执行crontab -e 创建任务
//查看是否有特殊的属性
lsattr /var/spool/cron/
//去掉特殊的属性
chattr -ai /var/spool/cron
3、成功截图
参考链接
使用 acme.sh 给 Nginx 安装 Let’ s Encrypt 提供的免费 SSL 证书 · Ruby China
crontab报错: Permission denied和 -bash: chattr: command not found_crontab permission denied
acme.sh不能自动更新证书的问题 | 雨师的博客