Ich habe Haproxy mit Keepalived für den Lastausgleich und das IP-Failover eines Percona-Clusters eingerichtet, und da es hervorragend funktioniert, möchte ich dasselbe lb / Failover für einen anderen Dienst / Daemon verwenden.
Ich habe Haproxy folgendermaßen konfiguriert:
listen my_service 0.0.0.0:4567
mode tcp
balance leastconn
option tcpka
contimeout 500000
clitimeout 500000
srvtimeout 500000
server host1 xxx.xxx.xxx.xx1:4567 check port 4567 inter 5000 rise 3 fall 3
server host2 xxx.xxx.xxx.xx2:4567 check port 4567 inter 5000 rise 3 fall 3
Der Lastausgleich funktioniert einwandfrei, aber der Dienst sieht die IP des Load Balancers anstelle der tatsächlichen IPs der Clients. Im http-Modus ist es recht einfach, dass Haproxy die Remote-IP weitergibt, aber wie mache ich das im TCP-Modus? Dies ist aufgrund der Art des Dienstes, den ich zum Lastausgleich benötige, von entscheidender Bedeutung.
Vielen Dank! Vito