簡體   English   中英

HAProxy SSL 終止:如何解決僅 WAN 客戶端遇到的證書錯誤?

[英]HAProxy SSL termination: how to resolve certificate error only experienced by WAN clients?

我的 HAProxy SSL 終止設置完全按照 LAN 客戶端的預期工作,但如果我使用 WAN 客戶端(例如 Tor 瀏覽器),我會收到證書錯誤。 然而,如果我提供允許訪問端口 80 的防火牆規則,他們可以繞過我的 80->443 重定向並在端口 80 上訪問我的服務器。如何確保 WAN 客戶端連接到 HTTPS?

我的前端配置為使用我的通配符證書 *.example.com,其規則將請求路由到正確的后端服務器。 我還有一個從端口 80 到 443 的前端重定向。該系統完全按照我對 home.network 上的客戶端的預期工作:在瀏覽器中訪問 subdomain.example.com 時:

  • 所有 subdomain.example.com:80 請求都轉發到 subdomain.example.com443
  • HAproxy 前端執行 SSL 卸載
  • 正如我所料,客戶端通過 HTTPS 連接到后端服務器 192.168.1.50:80。

但是,當我嘗試使用 TOR 瀏覽器從我的 local.network 外部連接到我的子域時,例如 subdomain.example.com:443,我收到一條“安全連接失敗”消息,以及“錯誤代碼:SSL_ERROR_RX_RECORD_TOO_LONG”。

如果我創建允許訪問端口 192.168.1.50:80 的防火牆規則,我可以將 Tor 瀏覽器更改為 HTTP 模式,然后以不安全的方式連接到我的后端服務器。 但是,我不明白這怎么可能。 我希望至少我在 HAProxy 前端創建的 http 重定向會得到尊重。

外部客戶端如何繞過我的 HAProxy 前端重定向? 我假設這里發生的任何事情也與外部客戶端沒有與我的 HAProxy 前端建立安全連接有關。

我已經解決了我的問題。 這是我所做的:

  1. 創建一個虛擬 IP (Firewall --> Virtual IPs --> Add)\
  2. IP Alias --> WAN --> Single Address(我選擇了一個未使用的地址,比如 192.168.1.XXX)
  3. 保存時帶有描述“HAProxy Frontend Virtual IP”
  4. 在Firewall中開啟443端口,指定訪問192.168.1.XXX
  5. 服務 --> HAProxy。 在這里,我復制了我的前端,在“監聽地址”下,我從“WAN”更改為 192.168.1.XXX(HAProxy 前端虛擬 IP)

現在我可以通過 Tor 連接(或任何其他外部客戶端)毫無問題地訪問我的服務器。

我仍然不明白以前發生了什么,現在發生了什么。 我假設存在一些沖突,因為 HAProxy 正在偵聽與 pfSense 相同的地址(我的 WAN IP 地址)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM