基本設定
我們在一對 PFsense 盒子中運行 HAProxy。在前面,我們提供一組 IP 位址,對於每個 IP 位址,我們在其後面都有一對 SSL 卸載器。
HAProxy 用於兩者之間進行負載平衡。配置大致是這樣的:
frontend FOO_FRONT_80
bind 5.5.5.5:80 name 5.5.5.5:80 transparent
mode tcp
log global
maxconn 10000
timeout client 30000
use_backend FOO_BACK_80
backend FOO_BACK_80
mode tcp
log global
option log-health-checks
balance source
timeout connect 30000
timeout server 30000
retries 3
source ipv4@ usesrc clientip
server FOO_LB_001 10.0.0.21:80 check inter 10000 weight 100
server FOO_LB_002 10.0.0.22:80 check inter 10000 weight 100
這是為數萬個同時連接提供服務的。
這是一張圖片:
問題
對負載平衡器的所有常規 GET 請求都會順利完成。但 POST 請求(請求正文 > 50kBytes 的任何內容)不會,HAProxy 和後端 Apache 之間的連接顯然被切斷。
在實驗室環境中,我們無法重現這一點。但在生產中,當我們關閉透明客戶端 IP 設定時,這些問題就消失了。
我們現在正在嘗試找出可能導致此情況的原因。可能是一個很大的問題(我對此表示懷疑),或者是某個地方的配置錯誤(在哪裡?)。
任何幫助將不勝感激。
魯本