Ssl-Certificate

我可以為不同伺服器上的子域使用單個 Let’s Encrypt SSL 證書嗎?

  • January 11, 2019

目前,我可以獲得一個在具有多個子域的伺服器上工作的 Let’s Encrypt SSL 證書。

例如。伺服器 A 上的 m.example.com、www.example.com、example.com

但是,為了使案例如。伺服器 B 上的 cdn.example.com,我該如何實現?

我的想法是:

(1) Server A上的單一證書,包含所有子域:cdn.example.com, m.example.com, www.example.com, example.com,然後rsync到Server B

(2) Server A上的一個證書,包含:m.example.com、www.example.com、example.com

伺服器 B 上的第二個證書,僅包含:cdn.example.com

進行實施的正確方法或最佳方法是什麼?

我不確定我是否允許為根域 example.com 生成多個證書

如果我擴展到多台伺服器,我發現(1)在更新時更容易。

可以這樣做嗎?或者它是多餘的?

更新:

兩台伺服器中的相同 SSL 證書 並不能完全解決我的問題。接受的解決方案部分回答 SSL 證書是 FQDN 特定的,而不是機器特定的。

如果是這樣的話,我提出的(1)不是一個簡化的解決方案嗎?

我的問題是:

我可以有一個僅包含子域的部分 SSL 證書,cdn.example.com但忽略伺服器 B 上的其他證書,然後為伺服器 A 頒發另一個具有根域的 SSL 證書example.comwww.example.comm.example.com

恕我直言,每台伺服器都應該有自己的私鑰,您可以使用 LE 頒發任意數量的證書,我能想到的每個 IP 使用多個 SAN 的唯一原因是您的客戶端無法執行 SNI(例如:舊的 java 客戶端如果您正在使用 webhook/api 或其他端點)。

TLDR;選項 2,只是不要忘記設置您的自動續訂 cronjobs 並輸入有效的電子郵件,以防出現問題。

我會為您的應用程序/資產使用單獨密鑰的另一個原因是信任級別不同。我認為您的圖像與您的程式碼/內容無關緊要,並且您不會通過 CDN 向使用者送出表單,伺服器 A 可能在現場,伺服器 B 可能在 SSD 上的公共雲中。

引用自:https://serverfault.com/questions/830970