HAProxy ferme de longue vie connexions TCP en ignorant TCP keepalive

J'ai configuré HAProxy (1.5.4, mais j'ai essayé aussi 1.5.14) à l'équilibre en mode TCP deux serveur d'exposer protocole AMQP (WSO2 Message Broker) sur 5672 port.
Les clients de créer et d'utiliser une connexion permanente pour la AMQP Serveurs, par HAProxy.

J'ai changé le client et le serveur TCP keepalive délai d'attente, réglage du net.ipv4.tcp_keepalive_time=120 (CentOS 7).

Dans HAProxy j'ai placé délai d'attente de client/serveur à 200 secondes (>120 secondes de la persistantes paquets) et utilisé l'option clitcpka.

Puis j'ai commencé à wireshark et renifla tout le trafic tcp: après la dernière demande de la part des clients, le tcp keepalived paquets sont sente régulièrement après 120 secondes, mais après 200 secondes après la dernière demande de la part des clients de la connexion sont fermés (en ignorant l'keepalived paquet).

Ci-dessous la configuration:

haproxy.conf

global
    log 127.0.0.1   local3
    maxconn 4096
    user haproxy
    group haproxy
    daemon
    debug

listen messagebroker_balancer 172.19.19.91:5672
    mode tcp
    log global
    retries 3
    timeout connect 5000ms
    option redispatch
    timeout client 200000ms
    timeout server 200000ms
    option tcplog
    option clitcpka 
    balance leastconn
    server s1 172.19.19.79:5672 check inter 5s rise 2 fall 3
    server s2 172.19.19.80:5672 check inter 5s rise 2 fall 3

OriginalL'auteur Paolo Parlato | 2015-09-17