通过acme的docker自动获取Let's Encrypt证书
通过acme的docker自动获取Let's Encrypt证书,认证模式是DNS认证,好处是支持泛域名证书,对主系统无“污染”。
一、获取DNS的API
支持的DNS服务商见官方wiki:https://github.com/Neilpang/acme.sh/wiki/dnsapi
这里以Cloudflare的为例
首先登录cf账号,进入右上角的My Profile

然后进入API Tokens,点击Create Tokens新建一个Tokens


此处注意Permissions要2条,Zone.Zone和Zone.DNS,权限为Edit可编辑,Resources设置为All zones。

二、运行docker获取证书
docker run --rm -itd \
-v "$(pwd)/out":/acme.sh \
-e CF_Token="xxxxxxxxxxxxxxxxxxxx" \
-e CF_Account_ID="cdxxxxxxxxxxxxxxx" \
neilpang/acme.sh --issue --dns dns_cf -d tanst.net -d *.tanst.net这里要注意如果在shell脚本里面运行一定要加上-itd后面的参数d后台运行,否则无效。
Token填第一步获取的值
Account_ID为登录地址里面的32位字符:

