É possível configurar o HAProxy para escolher um servidor de backend com base no IP de origem de um pedido? Se sim, como?

5

O título praticamente diz tudo. Basicamente, desejo rotear uma solicitação para um servidor de backend específico com base no IP de origem da solicitação.

ou seja,

HTTP Request from 192.168.100.1 -> HAProxy -> BackendServer A
HTTP Request from 192.168.100.2 -> HAProxy -> BackendServer B
    
por John 28.07.2011 / 15:35

1 resposta

8

Eu faria isso criando back-ends separados e, em seguida, os encaminharia de acordo com o front end com base no IP de origem:

Por exemplo:

frontend foo
   acl is_A src 192.168.100.1
   acl is_B src 192.168.100.1
   use_backend A if is_A
   use_backend B if is_B
backend A
   server blah
backend B
   server baz

Você também pode colocar uma lista de ips em um arquivo e depois criar o arquivo com algo como acl is_A src -f /etc/haproxy/special_ips

    
por 28.07.2011 / 16:57