如何在 Zimbra OSE 中正確配置 SNI?

進入21世紀初,IPv4位址等資源已瀕臨枯竭。 早在 2011 年,IANA 將其地址空間的最後 8 個 /2017 塊分配給了地區互聯網註冊商,但到了 4 年,他們就已經用完了地址。 解決IPv6位址災難性短缺問題的答案不僅是IPv4協定的出現,還有SNI技術,它使得在單一IPv4位址上託管大量網站成為可能。 SNI 的本質是這個擴充功能允許客戶端在握手過程中告訴伺服器它想要連接的網站的名稱。 這允許伺服器儲存多個證書,這意味著多個網域可以在一個 IP 位址上運行。 SNI 技術在商業 SaaS 供應商中特別受歡迎,他們有機會託管幾乎無限數量的網域,而無需考慮所需的 IPvXNUMX 位址數量。 讓我們了解如何在 Zimbra Collaboration Suite 開源版中實現 SNI 支援。

如何在 Zimbra OSE 中正確配置 SNI?

SNI 適用於所有目前和受支援的 Zimbra OSE 版本。 如果您在多伺服器基礎架構上執行 Zimbra 開源,則需要在安裝了 Zimbra 代理伺服器的節點上執行下列所有步驟。 此外,您還需要相符的憑證+金鑰對,以及您要在 IPv4 位址上託管的每個網域的 CA 的可信任憑證鏈。 請注意,在 Zimbra OSE 中設定 SNI 時,絕大多數錯誤的原因正是帶有憑證的不正確檔案。 因此,我們建議您在直接安裝之前仔細檢查所有內容。

首先,為了讓SNI正常運作,需要輸入指令 zmprov mcf zimbraReverseProxySNIEnabled TRUE 在Zimbra代理節點上,然後使用指令重新啟動代理服務 zmproxyctl 重新啟動.

我們將從創建域名開始。 例如,我們將採取域名 公司.ru 並且,在建立網域後,我們將決定 Zimbra 虛擬主機名稱和虛擬 IP 位址。 請注意,Zimbra 虛擬主機名稱必須與使用者存取網域時必須在瀏覽器中輸入的名稱相符,並且也與憑證中指定的名稱相符。 例如,我們以 Zimbra 作為虛擬主機名 mail.company.ru,作為虛擬 IPv4 位址,我們使用該位址 1.2.3.4.

之後,只需輸入命令 zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4將 Zimbra 虛擬主機綁定到虛擬 IP 位址。 請注意,如果伺服器位於 NAT 或防火牆後面,則必須確保對網域的所有請求都會傳送到與其關聯的外部 IP 位址,而不是傳送到其在本機網路上的位址。

一切完成後,剩下的就是檢查並準備要安裝的網域證書,然後安裝它們。

如果網域憑證的頒發正確完成,您應該擁有三個包含憑證的檔案:其中兩個是來自您的憑證授權單位的憑證鏈,一個是網域的直接憑證。 此外,您還必須擁有一個包含用於取得憑證的金鑰的檔案。 建立一個單獨的資料夾 /tmp/company.ru 並將所有可用文件以及密鑰和證書放置在那裡。 最終結果應該是這樣的:

ls /tmp/company.ru
company.ru.key
 company.ru.crt
 company.ru.root.crt
 company.ru.intermediate.crt

之後,我們將使用以下命令將憑證鏈合併到一個檔案中 cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt 並使用命令確保證書的一切井然有序 /opt/zimbra/bin/zmcertmgr verifycrt 通訊 /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt。 憑證和金鑰驗證成功後,您可以開始安裝它們。

為了開始安裝,我們首先將來自憑證授權單位的網域憑證和可信任鏈合併到一個檔案中。 這也可以使用一個命令來完成,例如 cat company.ru.crt company.ru_ca.crt >> company.ru.bundle。 之後,您需要執行以下命令以將所有憑證和金鑰寫入 LDAP: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key然後使用命令安裝證書 /opt/zimbra/libexec/zmdomaincertmgr 部署crts。 安裝後,company.ru 網域的憑證和金鑰將儲存在該資料夾中 /opt/zimbra/conf/domaincerts/company.ru

透過使用不同的網域名稱但相同的 IP 位址重複這些步驟,可以在單一 IPv4 位址上託管數百個網域。 在這種情況下,您可以毫無問題地使用各個發證中心的憑證。 您可以檢查在任何瀏覽器中執行的所有操作的正確性,其中每個虛擬主機名稱應顯示其自己的 SSL 憑證。 

對於與 Zextras Suite 相關的所有問題,您可以通過電子郵件聯繫 Zextras 代表 Ekaterina Triandafilidi [電子郵件保護]

來源: www.habr.com

添加評論