2013-06-05 5 views
7

Stiamo utilizzando HAProxy per inoltrare le connessioni TCP in arrivo a un server separato che utilizza un TCP non elaborato. Il problema che stiamo vedendo è che la connessione client è accettata e quindi chiusa piuttosto che rifiutata immediatamente. Dal momento che abbiamo abilitato un controllo sanitario esiste un modo per HAProxy di separare dalla porta in modo che la connessione iniziale non riesca?Come posso rendere HAProxy rifiutare le connessioni TCP quando tutti i server di back-end sono inattivi

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

risposta

10

si desidera rifiutare esplicitamente la connessione se i server di backend sono giù:

acl site_dead nbsrv lt 1 
tcp-request reject if site_dead 

O acl site_dead nbsrv(backend_name) lt 1 dove backend_name è il nome di un backend diverso.

nbsrv documentation

acl documentation

tcp-reject documentation

+0

si dovrebbe aggiungere 'connection' quindi dovrebbe essere' connessione tcp-request rifiutano se site_dead', altrimenti haproxy non riesce a parsing config. – Danduk82

Problemi correlati