HAProxy:複数のフロントエンド、同じバインド


10

HAProxyの同じポートにバインドする複数のフロントエンドを構成することは可能ですか/正しいですか?

frontend A
    bind :80
    bind :2000-5000
    acl rule_about_A
    use_backend server_A if rule_about_A

frontend B
    bind :80
    acl rule_about_B
    use_backend server_B if rule_about_B

この使用例では、フロントエンドAは80にバインドし、2000〜5000の範囲にバインドする必要があります。フロントエンドBについては、それらをすべてのポートにバインドするのではなく、80にのみバインドします。

そのように構成するときれいに見えると思いましたが、代わりに単一のフロントエンドを使用してACLを操作しましたが、その構成がHAProxyを正しく機能させていないようです-正しいルールが適用される場合もあれば、そうでない場合もあります。

これらのフロントエンドを単一のフロントエンドに参加させる前に、同じポートにバインドする複数のフロントエンドを使用することは可能ですか?

編集:ところで、私はHAProxy 1.5を使用しています

回答:


10

いいえ、これを行うことはできず、賢明な動作を期待できます。

ポート80のリクエストは、ランダムに一方のフロントエンドまたはもう一方に到着します。このような構成の結果は未定義であり、技術的には有効ではありませんが、すべての実用的な目的では無意味な構成です。

ポート80(または任意のポート)に適用されるすべてのルールは、ポート80にバインドされている単一frontend(または単一listen)で指定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.