Letsencrypt
用於多伺服器配置的 Certbot
有沒有辦法使用 certbot 和letsencrypt 證書進行多伺服器設置,而無需手動將證書從一個節點複製到另一個節點?
我有一個域名
example.com
,在美洲解析為 192.0.2.1,在亞洲解析為 192.0.2.2。我從美國伺服器執行 certbot 並成功生成證書。我無法從亞洲伺服器執行相同的命令,因為 certbot 只能將域解析為 192.0.2.1。
因此,為了安裝亞洲伺服器的證書,我必須將它從 192.0.2.1 複製到 192.0.2.2。
是的,複製過程可以編寫腳本,儘管這對我來說不是一個好主意。還有其他方法嗎?
最後我使用了這裡描述的解決方案。
簡而言之:
- 使用單個節點生成證書
- 使用 nginx 代理將 /.well-known/ 從所有前端轉發到步驟 1 中的節點
- 使用腳本證書複製到所有前端伺服器
問題是您不知道驗證將從哪裡執行。
您有兩個通用解決方案:
- 在伺服器之間複製證書+密鑰。
- 暫時將您的域解析到一個地方,在那裡頒發證書,然後使其解析到另一個位置並在那裡頒發證書,最後翻轉回您的水平分割。當您還想更新證書時,您必須重複此操作。
解決方案 2 比複製您的證書+密鑰要糟糕得多。
考慮一下在 LetsEncrypt 之前如何解決這個問題:
- 在某處(管理員工作站或伺服器)生成密鑰和 CSR
- 向 CA 送出 CSR
- 從 CA 取回證書
- 將密鑰和證書推送到兩台伺服器。
從這個角度來看,將密鑰/證書從一台伺服器推送到另一台伺服器並不是那麼糟糕。