Usando o HAProxy 1.5, é possível adicionar um cabeçalho de solicitação cujo valor seja o endereço IP usado por um frontend cujo bind usa um curinga?
Por exemplo, dada a configuração a seguir, há algo que eu substitua "%[fe_id]" para obter o endereço IP variável que foi usado para conectar-se ao frontend?
frontend localhost
bind *:80
bind *:443 ssl crt /etc/ssl/ssl.pem
mode http
default_backend nodes
option forwardfor
backend nodes
mode http
balance roundrobin
http-request add-header X-FrontEnd-IP %[fe_id]
server web00 10.1.10.15:80 check
server web01 10.1.10.16:80 check
server web02 10.1.10.17:80 check
Responder1
Eu descobri. Não sei como perdi isso, mas a variável é "dst". Portanto, a configuração resultante ficaria assim:
frontend localhost
bind *:80
bind *:443 ssl crt /etc/ssl/ssl.pem
mode http
default_backend nodes
option forwardfor
backend nodes
mode http
balance roundrobin
http-request add-header X-FrontEnd-IP %[dst]
server web00 10.1.10.15:80 check
server web01 10.1.10.16:80 check
server web02 10.1.10.17:80 check
Desta forma podemos ver se a solicitação veio de dentro ou de fora da nossa rede e o servidor web pode se adaptar de acordo.
Além disso, para acessar esta variável com PHP é tão simples quanto usar o array $_SERVER com a chave "HTTP_X_FRONTEND_IP".
$_SERVER['HTTP_X_FRONTEND_IP']