QUIC实战(三) letsencrypt证书申请和自动续期
部署完QUIC集群之后,原來申請(qǐng)的https證書到期了,就嘗試了下重新安裝/更新證書。
Let’s Encrypt 是一個(gè)自動(dòng)簽發(fā) https 證書的免費(fèi)項(xiàng)目
Certbot 是 Let’s Encrypt 官方推薦的證書生成客戶端工具
因?yàn)槲业膓uic集群是直接把原來的證書復(fù)制到自定義的目錄下,所以沒有安裝過certbot,先安裝下certbot。
安裝Certbot
先安裝snapd,根據(jù)自己的linux系統(tǒng)(我的是Red Hat Enterprise Linux 8),選擇對(duì)應(yīng)的snapd安裝教程
安裝snapd
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm $ sudo dnf upgrade $ sudo yum install snapd創(chuàng)建軟鏈接
$ sudo systemctl enable --now snapd.socket $ sudo ln -s /var/lib/snapd/snap /snap安裝Certbot
## 更新snap到最新的版本 sudo snap install core sudo snap refresh core ## 去除其余Certbot操作系統(tǒng)包 確保安裝后使用certbot命令使用的是snap sudo apt-get remove certbot sudo dnf remove certbot sudo yum remove certbotsudo snap install --classic certbot #創(chuàng)建軟鏈接 sudo ln -s /snap/bin/certbot /usr/bin/certbotrenew 證書
因?yàn)樵跈C(jī)器上我已經(jīng)存放了舊的證書,所以我一開始的想法是直接更新舊證書就可以了,先通過certbot certificates查看下當(dāng)前服務(wù)器的證書信息
但是結(jié)果沒有返回當(dāng)前的證書信息給我。我猜測可能是由于我之前遷移證書的時(shí)候只遷移了配置nginx需要的pem文件,存放路徑也和舊集群安裝證書時(shí)的默認(rèn)路徑不一樣。
我將原來的證書路徑/etc/letsencrypt 下的所有文件都打包后上傳到新集群的Nginx機(jī)器上同樣的路徑,再使用certbot certificates 查看證書就可以看到舊證書了
接下來使用certbot renew 命令更新證書就行了
遇到的問題:
在更新證書的時(shí)候,會(huì)出現(xiàn)如上報(bào)錯(cuò),說是訪問xxx/.well-known/acme-challenge/xxx
來驗(yàn)證域名所有權(quán)的時(shí)候出現(xiàn)連接不通的情形。
因?yàn)槭褂胊ws部署的nginx集群,把域名綁定到了負(fù)載均衡器上,一開始負(fù)載均衡器只偵聽了quic的443端口,添加了對(duì)80端口的偵聽之后不再提示無法連接而返回404錯(cuò)誤碼。
判斷是由于上述路徑無法訪問到的問題,多次嘗試后始終匹配不到路徑;最后想到這個(gè)請(qǐng)求是為了驗(yàn)證域名所有權(quán),但是我是將域名綁定到了負(fù)載均衡器上,而不是更新證書的服務(wù)器上,將域名綁定到服務(wù)器ip上之后再次執(zhí)行certbot renew ,就更新成功了
由于新證書的路徑跟之前的不一樣,nginx配置文件里的證書路徑需要修改成如下:
ssl_certificate /etc/letsencrypt/live/you.domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/you.domain.com/privkey.pem;更新完證書之后又把域名綁定到負(fù)載均衡器上
letsencrypt 證書請(qǐng)求頻率限制
https://letsencrypt.org/zh-cn/docs/rate-limits/
每個(gè)賬戶每小時(shí)每域名有最多驗(yàn)證失敗 5 次的限制。該限制次數(shù)在測試環(huán)境中更高(每小時(shí)允許 60 次驗(yàn)證失敗)
每個(gè)注冊(cè)域名每周最多 5 張重復(fù)證書的限制
所以在我反復(fù)使用certbot renew命令的時(shí)候可能會(huì)出現(xiàn)達(dá)到上限的提示,過一段時(shí)間之后再嘗試就可以了
最終我只是進(jìn)行了證書遷移和更新,但是這樣的操作后續(xù)更新還是會(huì)有問題(需要把域名綁定到對(duì)應(yīng)的服務(wù)器ip上),還是比較麻煩的。
后續(xù)會(huì)繼續(xù)研究下,如果有好的解決方案會(huì)更新博客。如果大家有處理過類似的問題也可以分享下
參考資料:
Installing snap on Red Hat Enterprise Linux (RHEL)
None of the above on CentOS/RHEL 8
總結(jié)
以上是生活随笔為你收集整理的QUIC实战(三) letsencrypt证书申请和自动续期的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux常见问题及其解决方案集锦
- 下一篇: MarkdownPad安装以及绘制 UM