前言
在家里搭建了幾個服務(wù)姜骡,需要在外網(wǎng)訪問弃理,使用lets encrypt申請的證書,之前是每個域名單獨(dú)申請的冤竹,這樣比較麻煩拂封,更新的時候也要每個都更新茬射,于是重新申請了通配符證書鹦蠕,一個就搞定了。
certbot的安裝比較繁瑣在抛,還好官方提供了docker鏡像钟病,申請和更新都能使用docker搞定。
lets encrypt普通的申請方式需要能夠從外網(wǎng)訪問到80端口刚梭,由于我是在家里的環(huán)境使用肠阱,寬帶公司一般默認(rèn)是封了80和443端口,所以需要使用DNS驗(yàn)證的方式進(jìn)行申請朴读。
證書申請
$ docker pull certbot/certbot
$ docker run -it --name certbot --network host -v /etc/letsencrypt:/etc/letsencrypt certbot/certbot certonly --manual --preferred-challenges=dns
屹徘!注意,如果不是使用的dns申請的衅金,則需要使用到主機(jī)的80端口噪伊,由于使用端口映射的方式會一直占用端口,所以可以使用主機(jī)網(wǎng)絡(luò)氮唯,增加--network host參數(shù)
然后輸入你的域名鉴吹,注意*不能忽略
然后根據(jù)輸出添加一條類型為TXT的域名解析記錄,添加完成后惩琉,回到終端回車完成申請
證書更新
$ docker run -it --name certbot -v /etc/letsencrypt:/etc/letsencrypt certbot/certbot renew