IP do HAProxy FrontEnd adicionado ao cabeçalho

2

Usando o HAProxy 1.5, é possível adicionar um cabeçalho de solicitação cujo valor é o endereço IP usado por um frontend cuja ligação usa um caractere curinga?

Por exemplo, dada a seguinte configuração, existe algo em que eu substituo "% [fe_id]" para obter o endereço IP da variável que foi usado para conectar 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
    
por ggpwnkthx 01.03.2015 / 23:45

1 resposta

2

Eu percebi isso. Não sei como perdi isso, mas a variável é "dst". Então, 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

Dessa forma, podemos ver se a solicitação veio de dentro ou de fora da nossa rede, e o servidor da Web pode se adaptar adequadamente.

Além disso, para acessar essa variável com o PHP, é tão simples quanto usar a matriz $ _SERVER com a chave "HTTP_X_FRONTEND_IP".

$_SERVER['HTTP_X_FRONTEND_IP']
    
por 02.03.2015 / 00:49

Tags