最近ロードバランシングのためにCitrixからHAProxyに切り替えました。HTTPヘッダーの余分なスペースはHAProxyで400エラーを返します
問題は、一部の要求のためにHAProxyは(Citrix社でうまく動作するために使用)400エラーを与え始めていることです。そこで、当面はHTTPベースのロードバランシングからTCPベースのロードバランシングに移行しました。さらに、我々はいくつかの要求は400エラーの原因となったHTTPヘッダー内の余分なスペースを持っていたことが分かった調査で
。私たちは、ソースコードを変更することはできませんので
profileID<space>:value
vs
profileID:value
そして、これらの要求は、Androidアプリから来ました。
httpベースの負荷分散に戻ろうとしています。
スペースを無視できる設定がありますか。
ブロックされたヘッダーは「コロンスペース」で、「スペースコロン」ではありませんか? – regilero
コロンの後のスペースはHTTPでは無効ではなく、HAProxyによってブロックされません。ここには何か他のことがあります。あなたのログを見てください。カスタムログ形式を使用している場合は、終了状態の値 - %tsc'を探します。要求が成功すると、これは '----'として記録されます。失敗したリクエストの場合、最初の2文字(少なくとも)は異なるでしょう。これは非常に有用な情報です。あなたは何を見ますか?パケットトレースを取得しましたか? 'req [i] rep'ルールはありますか?あなたがそうするなら、それらを示してください - あなたは悪い正規表現でリクエストを破ることができます。 –
@regilero:あなたは正しいです。質問を更新しました。 – pratikvasa