注:该方法对国内用户不大友好,因为需要在github下载,包括安装脚本。 github:https://github.com/acmesh-official/acme.sh

安装

curl  https://get.acme.sh | sh -s email=my@example.com

单个域名申请

./acme.sh --issue -d blog.mmcat.cn --webroot /data/nginx/html/ --debug

运行会在/data/nginx/html/.well-known/acme-challenge/ 生成一个文件,确保域名所在服务器的80端口可以被访问到这个地址: http://blog.mmcat.cn/.well-known/acme-challenge/xxxx

通配符域名申请

以腾讯云DNSPod.cn为例,DP_Id , DP_Key为申请的api token。

#!/usr/bin/bash

export DP_Id="123"
export DP_Key="abc"
...

写到./acme.sh 运行脚本

./acme.sh --issue  -d '*.mmcat.cn'  --dns dns_dp  --force

申请成功

申请成功后,在 /root/.acme.sh/[你的IP/域名] 目录 可以看到下发的证书 1.[你的IP/域名].cer 2.[你的IP/域名].key

定时任务

crontab -l
32 0 * * * "/root/.acme.sh/acme.sh --cron --home "/root/.acme.sh" --force> /dev/null

每天都会更新证书,然后自己写自动化脚本更新nginx使用的证书并reload