Haproxy Incoming X-Forwarded-Para cabeçalho para saída X-Forwarded-For

1

Existe alguma maneira que eu posso usar a capacidade da Haproxy para modificar cabeçalhos para que, se a conexão de entrada tiver um cabeçalho X-Forwarded-For, por exemplo, eu possa pegar o conteúdo disso e adicioná-lo ao X-Forwarded-For da Haproxy gravar?

Meu cenário atual é um cliente que configurou o seguinte:

  • CloudFlare toma conexão, define o X-Forwarded-For e se conecta ao frontend do Haproxy
  • A Haproxy, então, lida com essa conexão e define o X-Forwarded-For com base no IP verdadeiro para a conexão recebida (endereço IP do CloudFlares)
  • O servidor recebe essa solicitação e a entrada X-Forwarded-For contém o IP do proxy CloudFlare em vez do verdadeiro IP do cliente.
por Chris 02.05.2011 / 10:18

1 resposta

4

A menos que seu servidor final realmente queira saber qual era o endereço IP do cloudflare, se ninguém se conecta diretamente ao haproxy, basta remover option forwardfor para que ele pare de alterar o cabeçalho X-Forwarded-For.

Se algumas conexões não passarem pelo cloudflare, você poderá usar option forwardfor except cloudflareipaddress para configurar somente o X-Forwarded-For para conexões diretas.

    
por 02.05.2011 / 15:20