O problema com o que você está tentando é que você está tratando toda a configuração como se ela estivesse sendo constantemente analisada e interpretada em tempo de execução, o que obviamente não é o caso.
Certos argumentos para as várias diretivas são estáticos, outros dinâmicos, mas as declarações server
são mais estáticas. Um servidor representa exatamente um endereço de destino, não um endereço diferente por solicitação.
Você precisará configurar um back-end para cada desenvolvedor ou colocá-los todos em um back-end, backend local
com uma declaração de servidor único para cada desenvolvedor, server dev-1 192.168.1.1:80 ...
, server dev-2 ...
, etc.
Então use_backend local if { cook_sub(local) -i true }
.
Em seguida, no back-end, adicione um use-server
para corresponder aos nomes dos servidores ao IP de origem use-server dev-1 if { src 192.168.1.1 }
para cada desenvolvedor.
Observe que { ... }
é uma ACL anônima, uma maneira muito mais limpa (imho) de testar condições simples, principalmente quando as condições são avaliadas apenas em um local na configuração. Se você está testando a mesma condição em vários lugares, as ACLs nomeadas são melhores porque elas são editadas em apenas um lugar, para que você não precise atualizá-las em vários lugares, como faria se copiasse e colasse a mesma ACL anônima a configuração.