i have a set up with 3 web server used as backend for HAProxy solution.
I have 1 server as primary and the other 2 as backup1 and backup 2.
If the primary goes down new connections are sent at backup 1 as we want to.
When the primary server comes up again all new connection are sent to him, once again as we want to, but the alredy exsisting one in the backup 1 are truncated.
Is there a way to let those existing connections one the backup1 server and once those are closed send all the traffic to the primary one?
a snippet of your configuration and HAproxy version would be usefull, but I believe you can achieve your goal using
stick on in your backend section.
There’s a great example here:
# Learn SSL session ID from both request and response and create affinity. backend https mode tcp balance roundrobin # maximum SSL session ID length is 32 bytes. stick-table type binary len 32 size 30k expire 30m acl clienthello req_ssl_hello_type 1 acl serverhello rep_ssl_hello_type 2 # use tcp content accepts to detects ssl client and server hello. tcp-request inspect-delay 5s tcp-request content accept if clienthello # no timeout on response inspect delay by default. tcp-response content accept if serverhello # SSL session ID (SSLID) may be present on a client or server hello. # Its length is coded on 1 byte at offset 43 and its value starts # at offset 44. # Match and learn on request if client hello. stick on payload_lv(43,1) if clienthello # Learn on response if server hello. stick store-response payload_lv(43,1) if serverhello server s1 192.168.1.1:443 server s2 192.168.1.1:443