基本設定
私たちは PFsense ボックスのペアで HAProxy を実行しています。前面では多数の IP アドレスを提供しており、各 IP アドレスの背後には SSL オフローダーのペアがあります。
HAProxy は 2 つの間の負荷分散に使用されます。設定はおおよそ次のようになります。
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 設定をオフにすると、これらの問題は解消されました。
現在、何が原因なのかを突き止めようとしています。大きな問題(それはないと思います)か、どこか(どこ?)の設定ミスでしょうか。
ご協力いただければ幸いです。
ルーベン