$ docker pull neilpang/acme.sh
以dns mode运行docker命令linux
$ docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ -e Ali_Key="xxxxxx" \ -e Ali_Secret="xxxx" \ neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn
成功以后,证书会保存在out文件夹,也能够指定路径,修改上面第一行 "$(pwd)/out"
,改成你想要保存的路径便可git
四 注意github
--dns dns_alidocker
要根据你域名的dns模式选择,显然这里是阿里。因此前面的两项配置才是Ali_Key,Ali_Secretapi
Ali_Key,Ali_Secret 服务器
须要从阿里云后台获取dom
不知道本身域名的dns模式能够去这里查找 https://github.com/acmesh-official/acme.sh/wiki/dnsapissh
如何获取域名的dns模式及相关配置,能够直接找你域名的客服阿里云
用腾讯作例子spa
$ docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ -e DP_Id="xxxxxx" \ -e DP_Key="xxxx" \ neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn
ps.
腾讯这坑爹收购了DNSPod,因此是dns_dp
我一开始还觉得是TX_Id,TX_Key,dns_tx之类的
找了一圈,发现本身的阿里服务器正常使用,但就是步骤没问题
因而问公司拿到域名帐户,问腾讯客服才知道这事
固然,这跟腾讯无关,坑爹公司的锅更大
老子干这个啥都没有
五
docker run --rm 的命令懂得都懂,运行完就退出,这样能执行个锤子自动更新ssh证书
方法一
不docker run --rm,直接docker run就行了
优势简单,缺点一个容器专门跑这个,太浪费资源了
方法二
定时任务跑docker run --rm,原文的例子就有了
#run cron job docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ --net=host \ neilpang/acme.sh --cron
其实--cron是linux的crontab参数,具体用法不累赘了
喜欢用crontab的用crontab
不喜欢的看看 博文里的二
方法三
把这玩意和docker守护进程绑一块儿,毕竟守护进程必须开,不算浪费资源
这是acme.sh的推荐作法
一样带原文的例子
$ docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ --net=host \ --name=acme.sh \ neilpang/acme.sh daemon
六 最终结果
$ docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ -e DP_Id="xxxxxx" \ -e DP_Key="xxxx" \ neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn daemon