HAProxy: várias interfaces, o mesmo vínculo


10

Isso é possível / correto para configurar várias interfaces que se ligam à mesma porta no 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

Nesse caso de uso, o front-end A precisa se vincular a 80 e ao intervalo 2000-5000. Para o frontend B, não quero vinculá-lo a todas essas portas, apenas a 80.

Eu pensei que ficaria limpo se eu configurá-lo dessa maneira, em vez de usar um único frontend e jogar com as ACLs, mas parece que essa configuração está fazendo o HAProxy funcionar errado - às vezes aplica a regra correta e às vezes não.

Antes de unir esses frontends como um único, é possível usar vários frontends que se ligam às mesmas portas?

EDIT: BTW, estou usando o HAProxy 1.5

Respostas:


10

Não, você não pode fazer isso e espera um comportamento sensato.

Os pedidos para a porta 80 chegarão aparentemente aleatoriamente em um front end ou no outro. O resultado dessa configuração é indefinido e, embora não seja tecnicamente válido, é para todos os fins práticos uma configuração sem sentido.

Todas as regras aplicáveis ​​na porta 80 (ou em qualquer porta) precisam ser especificadas em uma única frontend(ou uma única listen) que esteja vinculada à porta 80.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.