优化收集网

您现在的位置是:首页 > 网站建设 > 主机运维

主机运维

docker获取Let's Encrypt永久免费SSL证书的方法(图文)

电脑迷 2021-02-12 11:16:00主机运维

一、起因

官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

二、选型

cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理。例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

三、拉取镜像Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

1 $ docker pull neilpang/acme.sh

以dns mode运行docker命令Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

1Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
2Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
3Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
4Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
5
$ docker run --rm -it \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -v "$(pwd)/out":/acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e Ali_Key="xxxxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e Ali_Secret="xxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn

成功之后,证书会保存在out文件夹,也可以指定路径,修改上面第一行 "$(pwd)/out",改为你想要保存的路径即可Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

四、注意

--dns dns_aliQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

要根据你域名的dns模式选择,显然这里是阿里。所以前面的两项配置才是Ali_Key,Ali_SecretQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

Ali_Key,Ali_SecretQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

需要从阿里云后台获取Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

不知道自己域名的dns模式可以去这里查找 https://github.com/acmesh-official/acme.sh/wiki/dnsapiQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

如何获取域名的dns模式及相关配置,可以直接找你域名的客服Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

用腾讯做例子Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

1Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
2Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
3Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
4Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
5
$ docker run --rm -it \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -v "$(pwd)/out":/acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e DP_Id="xxxxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e DP_Key="xxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn

腾讯这坑爹收购了DNSPod,所以是dns_dpQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

我一开始还以为是TX_Id,TX_Key,dns_tx之类的Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

找了一圈,发现自己的阿里服务器正常使用,但就是步骤没问题Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

于是问公司拿到域名账户,问腾讯客服才知道这事Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

当然,这跟腾讯无关,坑爹公司的锅更大Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

老子干这个啥都没有Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

五、命令

docker run --rm 的命令懂得都懂,运行完就退出,这样能执行个锤子自动更新ssh证书Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

方法一Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

不docker run --rm,直接docker run就好了Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

优点简单,缺点一个容器专门跑这个,太浪费资源了Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

方法二Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

定时任务跑docker run --rm,原文的例子就有了Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

1Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
2Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
3Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
4Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
5
#run cron jobQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
docker run --rm -it \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -v "$(pwd)/out":/acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 --net=host \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 neilpang/acme.sh --cron

其实--cron是linux的crontab参数,具体用法不累赘了Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

喜欢用crontab的用crontabQtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

不喜欢的看看 博文里的二Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

方法三Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

把这玩意和docker守护进程绑一起,毕竟守护进程必须开,不算浪费资源Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

这是acme.sh的推荐做法Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

同样带原文的例子Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网

1Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
2Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
3Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
4Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
5
$ docker run --rm -itd \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -v "$(pwd)/out":/acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 --net=host \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 --name=acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 neilpang/acme.sh daemon

六、最终结果

1Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
2Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
3Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
4Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
5
$ docker run --rm -itd \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -v "$(pwd)/out":/acme.sh \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e DP_Id="xxxxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 -e DP_Key="xxxx" \Qtu电脑_数码_手机应用问题解决的IT技术网站 - 优化收集网
 neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn daemon