一、安装acme.sh
curl https://get.acme.sh | sh source ~/.bashrc
二、在 DNSPod 控制台申请 API Token,这里我们获取到了 ID 和 Token 以便接下来使用。
三、依次输入以下命令,其中 DP_Id 是刚刚申请的 ID,DP_Key 是刚刚申请的 Token 值,第一个 -d 后面填写一级域名,第二个 -d 后面填写泛域名。
export DP_Id="1000" export DP_Key="394f8762a1232cf5aad40fc2d5c0dabb" acme.sh --issue --dns dns_dp -d xxx.com -d *.xxx.com
证书就会自动生成了. 这里给出的 api id 和 api key 会被自动记录下来, 将来你在使用 dnspod api 的时候, 就不需要再次指定了. 直接生成就好了
四、安装证书
acme.sh --installcert -d xxx.com -d *.xxx.com \ --keypath /usr/local/nginx/conf/cert/xxx.com/private.key \ --fullchainpath /usr/local/nginx/conf/cert/xxx.com/fullchain.cer \ --reloadcmd "service nginx force-reload"
acme.sh就记住了这些参数,以后自动更新证书就会自动按照这些参数运行。另外这里用的是 service nginx force-reload, 不是 service nginx reload, 是根据acme.sh的官方说明来的,据测试, reload 并不会重新加载证书, 所以用的 force-reload。
五、配置nginx
六、更新证书
目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.
七、升级acme.sh
目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0