使用 acme.sh 和 DNSPod 配置和自动更新
使用 acme.sh的DNS Api方式通过DNSPod 的 API 通过 DNS 验证的方式来配置和自动更新
1. 安装 acme.sh
安装 acme.sh 非常简单,可以使用 root 用户也可以使用普通用户安装,简单使用以下命令即可:
curl https://get.acme.sh | sh
安装完成后,可执行文件在当前用户目录下 ~/.acme.sh/ ,我们给这个 bash 设定一个 alias,方便使用:
alias acme.sh=~/.acme.sh/acme.sh
2. 生成 DNSPod API Key 和 ID
登陆自己的 DNSPod 帐户,点击自己头像,选择密钥管理,添加一个密钥,将 ID 和 Token 记录下来
3. 申请证书
3.1 配置环境变量
首先为 acme.sh 配置环境变量,在服务器上输入以下代码:
export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"
注意替换自己的 DNSPod API Key 和 ID。
3.2 签发证书
~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com
acme.sh --issue --dns dns_dp -d *.niuhes.cn
以上命令为 *.niuhes.cn签发泛域名证书,并且自动添加了 crontab 定期任务,每天 0:18 自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。
3.3 更新证书
目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心。
强制更新证书:
acme.sh --renew -d *.niuhes.cn --force
4. 安装证书
签发的证书默认存储在安装目录下: ~/.acme.sh/,建议不要直接使用此目录下的文件,例如:不要直接让 nginx/apache 的配置文件使用这下面的文件。这里面的文件都是内部使用,而且目录结构可能会变化。
正确的使用方法是使用 –installcert 命令,并指定目标位置,然后证书文件会被 copy 到相应的位置,例如:
~/.acme.sh/acme.sh --installcert -d *.niuhes.cn --key-file /root/private.key --fullchain-file /root/cert.crt
tecent DNSPod 申请证书:等您坐沙发呢!