IP do HAProxy FrontEnd adicionado ao cabeçalho

IP do HAProxy FrontEnd adicionado ao cabeçalho

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']

informação relacionada