Desejo carregar solicitações de saldo para a mesma porta em três back-ends. Eu tenho cerca de 20 portas para encaminhar, então eu preciso de uma maneira de torná-lo dinâmico. Isso é para balanceamento de carga de nossos servidores de teste unitário, pré-prod, qa, dev e unit para vários domínios. Então, sim, eu posso fazer isso usando 20 backends, com 20 acls e 20 use_backends. Mas então esqueça isso. Muito trabalho.
Então, eu gostaria de usar uma variável, para significar "a porta que foi solicitada". Eu tentei% [dst_port] porque isso pareceu funcionar em alguma outra situação.
Eu leio uma resposta em algum lugar de Willy T, que se alguém deixa o porto, ele apenas avança para a mesma porta.
Mas ainda precisa da porta de serviço ou da porta de verificação, que eu não sei antecipadamente, a menos que eu ligue 20 frontends diferentes.
Error: server X has neither service port nor check port nor tcp_check rule
'connect' with port information. Check has been disabled.
por exemplo,
listen load-balance
bind :28080
bind :42080
bind :48080
bind :58080
bind :38080
mode http
balance roundrobin
option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost
server X 10.20.30.1 check %[dst_port]
server Y 10.20.30.2 check %[dst_port]
server Z 10.20.30.3 check %[dst_port]
Você vê, precisa de uma variável. Isso é possível?
(Meu problema é ainda mais complicado porque, tecnicamente, eu preciso de um mapa da porta de destino para verificar a porta, idealmente, mas se eu pudesse fazer esse truque de porta dinâmica, pelo menos, então é bom o suficiente por enquanto.)