Letsencrypt

用於多伺服器配置的 Certbot

  • July 9, 2018

有沒有辦法使用 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。

是的,複製過程可以編寫腳本,儘管這對我來說不是一個好主意。還有其他方法嗎?

最後我使用了這裡描述的解決方案。

簡而言之:

  1. 使用單個節點生成證書
  2. 使用 nginx 代理將 /.well-known/ 從所有前端轉發到步驟 1 中的節點
  3. 使用腳本證書複製到所有前端伺服器

問題是您不知道驗證將從哪裡執行。

您有兩個通用解決方案:

  1. 在伺服器之間複製證書+密鑰。
  2. 暫時將您的域解析到一個地方,在那裡頒發證書,然後使其解析到另一個位置並在那裡頒發證書,最後翻轉回您的水平分割。當您還想更新證書時,您必須重複此操作。

解決方案 2 比複製您的證書+密鑰要糟糕得多。

考慮一下在 LetsEncrypt 之前如何解決這個問題:

  • 在某處(管理員工作站或伺服器)生成密鑰和 CSR
  • 向 CA 送出 CSR
  • 從 CA 取回證書
  • 將密鑰和證書推送到兩台伺服器。

從這個角度來看,將密鑰/證書從一台伺服器推送到另一台伺服器並不是那麼糟糕。

之前也對此進行了介紹: https ://community.letsencrypt.org/t/will-lets-encrypt-work-for-me-multiple-servers-serving-one-domain/6830/7

引用自:https://unix.stackexchange.com/questions/322445