Sto usando HAProxy 1.4.18 con la seguente configurazione di back-end
backend staging
option httpchk HEAD /check.txt HTTP/1.0
http-check disable-on-404
default-server error-limit 1 on-error mark-down
server staging01 x.x.x.x:80 check observe layer7
server staging02 x.x.x.x:80 check observe layer7
I server eseguono più applicazioni su apache / passenger.
La combinazione di httpchk e disable-on-404 consente un arresto regolare e la rimozione di un server da lb abbastanza facilmente pur essendo in grado di accedere direttamente (ad esempio per i test).
Sto provando a configurare osservi per disabilitare un server quando un'applicazione non funziona. Ho interrotto la configurazione dell'applicazione su staging02 in modo che restituisca sempre un 500. È correttamente contrassegnato con DOWN dopo i primi 500 ma poi con UP al prossimo httpchk.
Ecco il file di registro:
Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 2 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 1 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is UP, reason: Layer7 check passed, code: 200, info: "OK", check duration: 0ms. 2 active and 1 backup servers online. 0 sessions requeued, 0 total in queue.
C'è un modo per combinare quei due controlli?