Quando você quiser usar nomes de host em vez de endereços IP, isso é chamado de resolução DNS no jargão HAproxy. Você precisará especificar um "resolvedor" seção onde você configura o DNS. Por exemplo:
resolvers mydns
nameserver dns1 10.0.0.1:53
nameserver dns2 10.0.0.2:53
resolve_retries 3
timeout resolve 1s
timeout retry 1s
hold other 30s
hold refused 30s
hold nx 30s
hold timeout 30s
hold valid 10s
hold obsolete 30s
Em seguida, você precisa especificar um parâmetro resolvers
em cada linha de servidor em que o DNS
resolução é necessária.
server s1 app1.example.com:80 resolvers mydns resolve-prefer ipv6
Crédito extra Em vez de enumerar cada nó na sua configuração, você também pode usar um registro DNS round-robin em sua URL. Isso significa que você também pode reduzir as alterações de configuração necessárias ao adicionar / remover nós do seu cluster a apenas alterar o registro DNS.
Um registro DNS seria assim:
app1.example.com. IN A 192.0.2.1
app1.example.com. IN A 192.0.2.2
app1.example.com. IN A 192.0.2.3