如何在 Zimbra 代理伺服器中啟用 HTTPS 重新導向

使用 Zimbra 代理程式屬性zimbraReverseProxyMailMode將 Web 請求從 HTTP 重新導向到 HTTPS。在每個 Zimbra 代理節點上啟用此屬性redirect,然後重新啟動代理服務並驗證 HTTP 回應是否包含 HTTPSLocation: https://...標頭。在此之前,請確保公用 HTTPS 主機名稱已解析到您的代理程式或負載平衡器,並且具有有效的憑證。

此設定用於透過 Zimbra 代理進行 Web 存取。它本身不會配置郵件儲存的 HTTPS、安裝證書,也不會保證每個郵件應用程式都遵循重定向。如果您需要完全拒絕 HTTP 請求,請考慮使用僅限 HTTPS 的代理模式,而不是重新導向。

圖示顯示 mail.example.com 指向兩個 Zimbra 代理節點,然後這兩個節點連接到郵件伺服器。
拓樸結構範例:公用郵件主機名稱先到達代理層,然後請求才會傳遞到郵件伺服器。

選擇適合您部署情況的行為

代理郵件模式HTTP會發生什麼變化?何時使用
redirect代理伺服器傳回 HTTP 302 回應,將客戶端定向到 HTTPS。當使用者仍然輸入 HTTP URL 而應該跳到安全網址時,此功能非常有用。
https代理伺服器透過 HTTPS 為 Web 用戶端提供服務;它不提供相同的 HTTP 到 HTTPS 重定向流程。如果客戶端永遠不應該透過 HTTP 發起會話,則應優先選擇這種方式。
both或者mixed這些是不同的代理模式,具有不同的HTTP/HTTPS行為。僅當部署需要特定行為時才使用;不要假設它們會強制執行 HTTP 重定向。

Zimbra 的安全指南警告說,某些用戶端(包括 ActiveSync 用戶端)可能不會回應 HTTP 重定向,並可能在初始未加密請求中傳送憑證。因此,重定向有助於提升瀏覽器的便利性,但當所有用戶端都必須避免使用 HTTP 時,重定向並不能取代僅使用 HTTPS 的存取方式。如果您選擇重新導向模式,請根據需要保護網路邊緣的 HTTP 監聽器,並將 HTTPS URL 告知使用者。

瀏覽器視窗顯示 Zimbra Web Client 登入頁面(網址為 https://mail.example.com),並附有一個鎖形圖示。
在變更代理行為之前,請確認公用 Webmail 主機名稱透過 HTTPS 開啟並顯示受信任的鎖定指示器。

更改代理之前

  • 確認範圍。此操作會變更 Zimbra Proxy 處理的 Web 流量。您的部署必須已啟用並正常執行代理服務。
  • 檢查公共端點。使用者存取的主機名稱(例如mail.example.com`example.com`)必須解析到公共代理程式或負載平衡器。 HTTPS 必須在預期的主機名稱和連接埠上正常運作。
  • 檢查證書。在重新導向使用者之前,請為公用主機名稱安裝並驗證憑證鏈。如果重定向到 HTTPS 時憑證損壞或不匹配,只會將故障轉移到下一個請求。
  • 識別每個代理節點。在負載平衡環境中,請記錄每個代理伺服器的 Zimbra 伺服器名稱。對一個代理伺服器所做的變更不會自動配置其他代理伺服器。
  • 如有需要,請安排維護窗口。重啟代理服務可能會短暫中斷通過該節點的連線。在冗餘部署中,請一次在一個節點上套用變更並監控服務運作狀況。

請使用 Zimbra 帳戶執行以下管理指令。請將 ` proxy1.example.com<server_name>` 替換為您的代理節點的 Zimbra 伺服器名稱,並將 `<hostname>` 替換mail.example.com為公共 Webmail 主機名稱。請勿將範例名稱直接貼到生產系統中。

啟用 HTTP 到 HTTPS 重定向

1. 記錄當前代理模式

在安裝了命令列工具的 Zimbra 主機上,查詢代理程式的目前設定:

zmprov gs proxy1.example.com zimbraReverseProxyMailMode

記錄輸出結果,以便在變更後進行比較,或在必要時恢復到先前的模式。該gs命令讀取伺服器屬性;ms下面使用的命令則修改這些屬性。

範例終端機視窗查詢 zimbraReverseProxyMailMode 以取得 proxy1.example.com 的配置,並顯示目前值為 https。
範例命令讀取一個代理節點上的目前郵件模式;您的伺服器可能會顯示不同的值。

2. 將代理模式設定為重新導向

設定代理伺服器物件的屬性:

zmprov ms proxy1.example.com zimbraReverseProxyMailMode redirect

Zimbra Proxy 設定文件將此模式指定redirect為將 HTTP 請求重新導向到 HTTPS 的模式。對每個接受公共 Web 流量的代理節點套用相同的命令。如果負載平衡器可以將 HTTP 請求傳送到多個代理,則每個符合條件的代理程式都需要保持一致的行為。

請勿將此設定與zimbraMailModeZimbra 文件中單獨列出的郵件伺服器連線屬性混淆。更改郵件儲存模式並非在代理程式上啟用瀏覽器導向的 HTTP 重定向的步驟。

範例終端命令將 zimbraReverseProxyMailMode 設定為重定向到 proxy1.example.com。
將代理程式的郵件模式設定為redirect;在多節點部署中,對每個代理伺服器名稱重複此操作。

3. 將變更套用到每個代理程式。

在更改設定的節點上重啟代理服務:

zmproxyctl restart

然後檢查其服務狀態:

zmproxyctl status

在每個代理節點上執行重啟命令,如果存在冗餘層,則一次重新啟動一個節點。如果您的環境有預設的設定快取刷新或服務編排流程,請遵循已安裝的 Zimbra 版本的操作指南。避免直接編輯產生的 Nginx 檔案:Zimbra 透過其伺服器設定管理代理配置,手動編輯的內容可能會被覆蓋。

這些範例使用了 Zimbra Daffodil v10 管理指南和 Zimbra 發布的代理/安全文件。較舊的 ZCS 版本在打包方式或支援的步驟上可能有所不同,因此在進行任何變更之前,請務必查閱管理指南,確認您環境中安裝的版本與指南中的版本完全一致。

示例性終端序列,顯示 Zimbra 配置快取刷新,然後執行 zmproxyctl restart。
範例操作序列會重新整理設定資料並重新啟動代理程式;請依照您已安裝版本支援的步驟進行操作。

驗證重定向和 HTTPS 回應

4. 檢查 HTTP 回應頭

從能夠存取公共端點的系統中,請求HTTP URL,而不跟隨重定向:

curl -sS -D - -o /dev/null http://mail.example.com/

在重定向模式下,請尋找 302 個回應以及Location以 `.` 開頭的標頭https://mail.example.com/。具體的標頭和狀態處理可能會因 Zimbra 版本、路徑以及代理伺服器前的負載平衡器或 Web 閘道而異。以下螢幕截圖僅為預期標頭模式的範例,並非從實際伺服器擷取的測試資料。

HTTP 請求的終端輸出範例,顯示 302 Found 和指向 https://mail.example.com/ 的 Location 標頭。
預期重新導向模式:HTTP 傳回 302 回應,並將瀏覽器指向 HTTPS 主機名稱。實際回應頭和日期會有所不同。

5. 驗證 HTTPS 和憑證

請單獨向安全URL發出請求:

curl -sS -D - -o /dev/null https://mail.example.com/

確認 TLS 憑證對主機名稱有效,且回應是預期的 Web 郵件頁面或應用程式重新導向。請勿使用curl -k繞過憑證驗證的方法:這會掩蓋使用者會看到的憑證問題。登入頁面可能會傳回重新導向或 200 以外的狀態碼,具體取決於產品版本和驗證流程,因此請結合瀏覽器檢查結果來判斷回應。

以下是 HTTPS 請求的終端輸出範例,顯示了 mail.example.com 的成功 HTTP 回應和憑證驗證。
此範例顯示了使用主機名稱匹配憑證透過 HTTPS 連接到服務;請驗證您的端點上的實際憑證鏈。

6. 在瀏覽器中測試

在新瀏覽器會話中開啟此http://mail.example.com視窗。輸入憑證之前,地址應更改為 HTTPS URL。然後直接開啟 HTTPS URL,並確認登入頁面載入正常,沒有憑證警告。如果公用 DNS、防火牆規則或負載平衡器可能導致不同的結果,請在內部網路外部重複上述步驟。

請勿在網址列仍顯示 HTTP 時輸入真實密碼進行測試。如果重定向失敗,請先停止並修正代理程式、邊緣或憑證配置。

Zimbra Web Client 登入頁面顯示在瀏覽器中,網址列中顯示 https://mail.example.com 和一個鎖形圖示。
瀏覽器最終檢查:重定向後,登入頁面在 HTTPS 主機名稱下提供服務。

故障排除快速參考

症狀需要檢查什麼
HTTP 協定保持在同一個 URL 上。查詢zimbraReverseProxyMailMode處理請求的代理程式;驗證每個負載平衡節點是否具有預期值並已重新啟動。
Location 標頭使用了錯誤的主機名稱或端口檢查用於產生公共連結的公共 URL、反向代理或負載平衡器規則以及 Zimbra 公共服務主機名稱/協定/連接埠設定。
瀏覽器報告憑證警告檢查憑證是否已安裝在 TLS 終止點上,是否會覆寫公用主機名,以及是否包含必要的憑證鏈。
用戶會看到重定向循環檢查前端負載平衡器是否終止了 TLS 連線但將 HTTP 請求轉送至 Zimbra,並確認代理伺服器能夠正確識別外部請求協定。在網路邊緣調整 TLS 和轉送配置。
郵件用戶端仍然發送HTTP不要假設客戶端會遵循 302 重定向。對於絕對不能透過 HTTP 發送憑證的客戶端,應優先使用 HTTPS 訪問,並為每個客戶端配置 HTTPS 伺服器 URL。

部署清單

  • 公用 HTTPS URL 解析到目標代理程式或負載平衡器。
  • TLS憑證對公用主機名稱有效,並受到客戶端的信任。
  • zimbraReverseProxyMailModeredirect在每個適用的代理節點上都設定為。
  • 代理服務已依照已安裝的 Zimbra 版本的步驟重新啟動。
  • HTTP 請求會傳回 HTTPSLocation標頭,而直接的 HTTPS 請求會驗證憑證。
  • 使用者和郵件用戶端都配置為使用 HTTPS;重定向模式並不能保證每個客戶端都能保護其第一個請求。

官方參考資料

留下評論

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。

用於追蹤效能的 6 款最佳網路管理工具

用於追蹤效能的 6 款最佳網路管理工具

比較六款網路管理工具的效能監控功能,包括 SNMP 覆蓋範圍、映射、警報、部署模型和成本權衡。

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

比較適用於 Windows、iPhone 和 Android 的 Wi-Fi 分析器,包括頻道擁塞、訊號覆蓋範圍、熱圖和網路故障排除工具。

Ping 監控:7 款免費開源的網路可用性工具

Ping 監控:7 款免費開源的網路可用性工具

比較七款免費開源的 ping 監視器,從完整的網路套件到專注於延遲探測的工具,選擇最適合可用性、丟包率和歷史記錄的工具。

網路中的服務品質 (QoS):服務品質的角色和工作原理

網路中的服務品質 (QoS):服務品質的角色和工作原理

了解 QoS 在網路中的意義,DSCP 標記和流量佇列如何對語音、視訊和業務應用程式進行優先排序,以及 QoS 無法解決的問題。

最佳SFTP伺服器軟體,實現安全檔案傳輸

最佳SFTP伺服器軟體,實現安全檔案傳輸

比較適用於 Windows 和 Linux 的可靠 SFTP 伺服器軟體,包括 OpenSSH、Bitvise、SolarWinds 和 SFTPGo。尋找最適合您的安全性和文件傳輸需求的軟體。

適用於網路團隊的 7 款最佳 IP 位址管理工具

適用於網路團隊的 7 款最佳 IP 位址管理工具

比較七款 IP 位址管理工具,包括子網路發現、DNS 和 DHCP 協調、網路清單和開源 IPAM。

網路監控最佳實務:監控哪些內容以及使用哪些工具

網路監控最佳實務:監控哪些內容以及使用哪些工具

建置實用的網路監控,提供清晰的設備覆蓋範圍、有用的效能指標、可操作的警報,並對 SolarWinds NPM、PRTG 和 OpManager 進行比較。

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

比較網路掃描工具,以實現快速設備發現、跨平台 IP 掃描和企業級 IPAM,並指導如何將每個選項與您的網路相符。

如何使用 Nmap 進行路由追蹤並讀取網路路徑

如何使用 Nmap 進行路由追蹤並讀取網路路徑

使用 Nmap 的 --traceroute 選項將躍點對應到授權主機,了解躍點和 RTT 輸出,並在不進行過度掃描的情況下排查缺失的回應。