Esse artigo tem mais de 3 anos e houve 2 versões estáveis do HAProxy desde então, então eu suspeito que é por isso que ele não está funcionando textualmente.
Se eu tivesse que adivinhar seu problema exato, eu diria que isso tem a ver com a sintaxe da instrução monitor fail
, onde ela espera um nome de ACL após o if
.
Você precisa de opções para corrigir isso.
-
Altere a ACL para uma "anônima", conforme descrito na seção 7.2 dos documentos HAProxy. Eu vinculei a v1.6, mas é o mesmo na v1.5 também.
Seu
monitor
ficaria assim:monitor fail if { nbsrv(bk_appsrv_static) eq 0 }
-
Crie uma ACL nomeada para o status geral do backend
bk_appsvr_static
e passe-a para a linhamonitor fail
.Isso seria parecido com:
acl bk_app_static_noservers nbsrv(bk_appsrv_static) eq 0 monitor fail if bk_app_static_noservers
Nesse caso, se o
bk_appsvr_static
não tiver nenhum servidor disponível, o ACL seráFALSE
e omonitor fail
será aplicado.