Configuración básica
Estamos ejecutando HAProxy en un par de cajas PFsense. Al frente, ofrecemos un montón de direcciones IP y, para cada dirección IP, tenemos un par de descargadores de SSL detrás.
HAProxy se utiliza para equilibrar la carga entre los dos. La configuración es más o menos esta:
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
Esto sirve para un par de decenas de miles de conexiones simultáneas.
Aquí hay una foto:
Asuntos
Todas las solicitudes GET habituales a los balanceadores de carga pasan por OK. Pero las solicitudes POST (cualquier cosa con un cuerpo de solicitud > 50 kBytes) no, y aparentemente se corta la conexión entre HAProxy y los Apaches backend.
En un entorno de laboratorio, no hemos podido reproducir esto. Pero en producción, estos problemas desaparecieron cuando desactivamos la configuración de IP del cliente transparente.
Ahora estamos tratando de descubrir qué podría estar causando esto. ¿Podría ser grande (lo dudo) o es alguna mala configuración en alguna parte (¿dónde?).
Cualquier ayuda sería muy apreciada.
rubén