2013-06-05 3 views
7

Wir verwenden HAProxy, um eingehende TCP-Verbindungen an einen separaten Server weiterzuleiten, der ein Raw-TCP verwendet. Das Problem, das wir sehen, ist, dass die Client-Verbindung akzeptiert und dann geschlossen und dann sofort zurückgewiesen wird. Da wir eine Zustandsüberprüfung aktiviert haben, gibt es irgendeine Möglichkeit für HAProxy, vom Anschluss zu lösen, so dass die anfängliche Verbindung fehlschlägt.Wie kann ich HAProxy TCP-Verbindungen ablehnen, wenn alle Backend-Server ausfallen

listen custom_forward 
    mode tcp 
    bind *:11144 
    default-server inter 10m fastinter 20s downinter 1m maxconn 100 
    server custom_server hostname:10144 check 

Antwort

10

Sie möchten die Verbindung explizit abzulehnen, wenn Back-End-Server sind unten:

acl site_dead nbsrv lt 1 
tcp-request reject if site_dead 

Oder acl site_dead nbsrv(backend_name) lt 1 wo backend_name der Name eines anderen Back-End ist.

nbsrv documentation

acl documentation

tcp-reject documentation

+0

Sie sollten 'connection' hinzufügen, damit es' tcp-Anfrage Verbindung ablehnen sollte, wenn site_dead', bei haproxy nicht anders Config-Parsing. – Danduk82

Verwandte Themen