Conexão interrompida com HAProxy no modo TCP + "IP do cliente transparente"

Conexão interrompida com HAProxy no modo TCP + "IP do cliente transparente"

Configuração básica

Estamos executando o HAProxy em um par de caixas PFsense. Na frente, estamos servindo vários endereços IP e, para cada endereço IP, temos um par de descarregadores SSL por trás disso.

O HAProxy é usado para balancear a carga entre os dois. A configuração é mais ou 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 

Isso atende a algumas dezenas de milhares de conexões simultâneas.

Aqui está uma foto:

insira a descrição da imagem aqui

Problemas

Todas as solicitações GET regulares para os balanceadores de carga passam por OK. Mas as solicitações POST (qualquer coisa com corpo de solicitação> 50kBytes) não, com a conexão aparentemente sendo cortada entre o HAProxy e os Apaches de back-end.

Em um ambiente de laboratório, não conseguimos reproduzir isso. Mas na produção, esses problemas desapareceram quando desativamos a configuração de IP transparente do cliente.

Agora estamos tentando descobrir o que pode estar causando isso. Poderia ser um grande problema (duvido) ou é algum erro de configuração em algum lugar (onde?).

Qualquer ajuda seria muito apreciada.

Ruben

informação relacionada