作者之前用的阿里云免费证书,有几个弊端:
- 只能申请二级单域名证书
- 只有一年有效期并且不能续期,服务多了更换证书太麻烦
- 目前只能申请最多20个免费证书了
于是打算申请Let’s encrypt的证书,有效期短但设个定时任务续签就行,并且还可以申请泛域名供所有服务使用。
启动容器
这里使用的是阿里dns的API,如其他云服务商请自行百度修改配置
docker run \ -v /volume1/docker/acme.sh:/acme.sh \ -e Ali_Key=xxx \ -e Ali_Secret=xxx \ --net host \ --restart=always \ --name acme \ -itd \ neilpang/acme.sh:3.0.0 daemon
更新acme.sh
docker exec acme acme.sh --upgrade --auto-upgrade
注册ZeroSSL
acme.sh默认证书已调整为ZeroSSL,访问 https://app.zerossl.com/login 注册账户
绑定账户
docker exec acme acme.sh --register-account -m youmail@domain.com --server zerossl
申请证书
docker exec acme acme.sh --issue --dns dns_ali -d xanderye.cn -d *.xanderye.cn
其中,dns_ali
代表阿里云,如果是腾讯云请填写 dns_dp
,CLoudflare 填写 dns_cf
,其他请参考官方手册 dnsapi。
执行完成后,查看docker映射的acme.sh目录下,已经生成了证书。
在 daemon 守护模式下,acme.sh 会根据申请记录,每 60 天自动更新证书。
发表回复