docker獲取Let's Encrypt永久免費(fèi)SSL證書的方法
一、起因
官方的cerbot太煩了,不建議使用還不如野蠻生長(zhǎng)的acme.sh,而這里介紹docker運(yùn)行cerbot獲取Let's Encrypt永久免費(fèi)SSL證書
二、選型
cerbot的證書不會(huì)自動(dòng)刷新日期,但是acme.sh自帶這功能,每天凌晨0:00自動(dòng)檢測(cè)過期域名并且自動(dòng)續(xù)期
選擇docker運(yùn)行cerbot,是為了讓服務(wù)器里盡量少配置和無意義的程序,方便管理。例如Let's Encrypt需要的Python2.7,git,pip我們都不需要裝在宿主機(jī)內(nèi),容器就自己配置好了
原文 https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker
三、拉取鏡像
$ docker pull neilpang/acme.sh
以dns mode運(yùn)行docker命令
$ 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
成功之后,證書會(huì)保存在out文件夾,也可以指定路徑,修改上面第一行 "$(pwd)/out",改為你想要保存的路徑即可
四、注意
--dns dns_ali
要根據(jù)你域名的dns模式選擇,顯然這里是阿里。所以前面的兩項(xiàng)配置才是Ali_Key,Ali_Secret
Ali_Key,Ali_Secret
需要從阿里云后臺(tái)獲取
不知道自己域名的dns模式可以去這里查找 https://github.com/acmesh-official/acme.sh/wiki/dnsapi
如何獲取域名的dns模式及相關(guān)配置,可以直接找你域名的客服
用騰訊做例子
$ 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
騰訊這坑爹收購(gòu)了DNSPod,所以是dns_dp
我一開始還以為是TX_Id,TX_Key,dns_tx之類的
找了一圈,發(fā)現(xiàn)自己的阿里服務(wù)器正常使用,但就是步驟沒問題
于是問公司拿到域名賬戶,問騰訊客服才知道這事
當(dāng)然,這跟騰訊無關(guān),坑爹公司的鍋更大
老子干這個(gè)啥都沒有
五、命令
docker run --rm 的命令懂得都懂,運(yùn)行完就退出,這樣能執(zhí)行個(gè)錘子自動(dòng)更新ssh證書
方法一
不docker run --rm,直接docker run就好了
優(yōu)點(diǎn)簡(jiǎn)單,缺點(diǎn)一個(gè)容器專門跑這個(gè),太浪費(fèi)資源了
方法二
定時(shí)任務(wù)跑docker run --rm,原文的例子就有了
#run cron job docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ --net=host \ neilpang/acme.sh --cron
其實(shí)--cron是linux的crontab參數(shù),具體用法不累贅了
喜歡用crontab的用crontab
不喜歡的看看 博文里的二
方法三
把這玩意和docker守護(hù)進(jìn)程綁一起,畢竟守護(hù)進(jìn)程必須開,不算浪費(fèi)資源
這是acme.sh的推薦做法
同樣帶原文的例子
$ docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ --net=host \ --name=acme.sh \ neilpang/acme.sh daemon
六、最終結(jié)果
$ 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
到此這篇關(guān)于docker獲取Let's Encrypt永久免費(fèi)SSL證書的方法的文章就介紹到這了,更多相關(guān)docker如何獲取Let's Encrypt永久免費(fèi)SSL證書內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Docker部署MySQL數(shù)據(jù)庫(kù)的兩種方法
在現(xiàn)代軟件開發(fā)中,MySQL 是一種流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),因其可靠性和易用性受到廣泛歡迎,通過 Docker,可以快速、便捷地部署和管理 MySQL 數(shù)據(jù)庫(kù)實(shí)例,本文將介紹兩種通過 Docker 部署 MySQL 的方法,需要的朋友可以參考下2024-10-10vscode進(jìn)入服務(wù)器docker容器的方法
這篇文章主要介紹了vscode進(jìn)入服務(wù)器docker容器的方法,首先要確保已經(jīng)運(yùn)行docker容器,已經(jīng)用vscode鏈接服務(wù)器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04docker安裝RocketMQ的實(shí)現(xiàn)步驟
本文主要介紹了docker安裝RocketMQ的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11docker swam集群如何實(shí)現(xiàn)負(fù)載均衡
這篇文章主要介紹了docker swam集群如何實(shí)現(xiàn)負(fù)載均衡問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02docker生產(chǎn)環(huán)境jvm性能優(yōu)化方式
這篇文章主要介紹了docker生產(chǎn)環(huán)境jvm性能優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08docker安裝Jenkins執(zhí)行構(gòu)建jar運(yùn)行方式
這篇文章主要介紹了docker安裝Jenkins執(zhí)行構(gòu)建jar運(yùn)行方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05