Incluir cabeçalho de solicitação do haproxy X-Forwarded-Host

3

Eu tenho uma instância do Haproxy que reescreve Host cabeçalhos para os internos usando http-request set-header .

http-request set-header Host internal.example

No entanto, eu ainda gostaria que os back-ends tivessem acesso ao cabeçalho Host original. Acho que X-Forwarded-Host é um bom candidato para isso, mas estou com dificuldades para descobrir como fazer isso.

Estou usando isso, o que funciona:

capture request header Host len 64
http-request set-header X-Forwarded-Host %hrl

Mas é claro que é um hack gigante - não funciona com mais de 64 caracteres e não funciona se eu precisar capturar outro cabeçalho.

Existe uma maneira melhor?

    
por steveh7 18.12.2015 / 00:04

1 resposta

2

Como Joel E Salas mencionou através de um comentário, mudar o Host é uma coisa estranha, mas suponho que se os backends só entenderem certos valores, isso pode fazer sentido.

Em qualquer caso, você pode usar apenas a amostra de amostra req.hdr como uma variável para http-request , assim:

http-request set-header X-Forwarded-Host %[req.hdr(Host)]

Você terá que executar isso antes de executar o http-request set-header que reescreve o cabeçalho Host , mas deve funcionar.

    
por 18.12.2015 / 14:55