Digamos que eu tenha um bloco de configuração HTTP assim:
listen testing
bind 1.2.3.4:80
balance roundrobin
use-server server1 if { urlp_val(force) eq 1 }
use-server server2 if { urlp_val(force) eq 2 }
force-persist if { urlp(offline) -m bool }
cookie SRVID insert indirect nocache
server server1 1.2.3.5:9000 cookie 1
server server2 1.2.3.6:9000 cookie 2
Então, em algum momento, eu desabilito o server2
através da interface de soquete para que todas as conexões sejam agora forçadas para server1
. Mas server2
não está realmente off-line, está apenas passando por manutenção e deve ser verificado antes de ser reativado. Portanto, solicitar http://1.2.3.4/?force=2&offline=true
deve ser intermediado por proxy para server2
. Mas isso não está acontecendo, está sendo intermediado por proxy para server1
.
Se eu adicionar option persist
, a persistência permanecerá e ninguém será direcionado para server1
, pois server2
não estava realmente indisponível.
Como posso realizar meu objetivo de parar automaticamente o tráfego balanceado de ir para server2
, mas forçar o tráfego condicional quando desativado?
Tags haproxy