通过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位字符: