2013-06-05 8 views
7

Używamy HAProxy do przekazywania przychodzących połączeń TCP do oddzielnego serwera, który używa nieprzetworzonego TCP. Problem, który widzimy, polega na tym, że połączenie klienta jest akceptowane, a następnie zamykane, a następnie odrzucane natychmiast. Ponieważ mamy włączone sprawdzanie poprawności, czy istnieje sposób, aby HAProxy odłączył się od portu, aby początkowe połączenie się nie powiodło?Jak mogę odrzucić połączenia TCP od HAProxy, gdy wszystkie serwery zaplecza są wyłączone?

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

Odpowiedz

10

chcesz jawnie odrzucić połączenie, jeśli serwery backend są w dół:

acl site_dead nbsrv lt 1 
tcp-request reject if site_dead 

Albo acl site_dead nbsrv(backend_name) lt 1 gdzie backend_name to nazwa innego zaplecza.

nbsrv documentation

acl documentation

tcp-reject documentation

+0

należy dodać 'connection' tak powinno być' Połączenie TCP-wniosek odrzucić jeśli site_dead', inaczej haproxy nie na analizowania config. – Danduk82