HAProxy: múltiples interfaces, mismo enlace


10

¿Es esto posible / correcto configurar múltiples interfaces que se unen al mismo puerto en 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

En este caso de uso, la interfaz A debe unirse a 80 y al rango 2000-5000. Para el frontend B, no quiero vincularlo a todos esos puertos, solo a 80.

Pensé que se vería limpio si lo configuro de esa manera, en su lugar, uso una interfaz simple y juego con las ACL, pero parece que esa configuración está haciendo que HAProxy funcione mal, a veces aplica la regla correcta y otras no.

Antes de unir esas interfaces como una sola, ¿ es posible utilizar múltiples interfaces que se unan a los mismos puertos?

EDITAR: Por cierto, estoy usando HAProxy 1.5

Respuestas:


10

No, no puedes hacer esto y esperar un comportamiento sensato.

Las solicitudes para el puerto 80 llegarán aparentemente al azar en un extremo frontal u otro. El resultado de dicha configuración es indefinido y, aunque técnicamente no es válido, es para todos los fines prácticos una configuración sin sentido.

Todas las reglas que se aplican en el puerto 80 (o cualquier puerto) deben especificarse en un único frontend(o uno listen) que esté vinculado al puerto 80.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.