Estou com um problema no servidor HAProxy. Quero encaminhar no cabeçalho um IP do cliente. Quase consegui, mas há um caso interessante e não consigo descobrir. Eu preciso escrever o IP do cliente em 2 lugares no cabeçalho, nas tags X-CLIENT-IP e X-FORWARDED-FOR.
O problema é: quando eu uso
option http-server-close
option forwardfor
No servidor de destino, vejo no cabeçalho X-FORWARDED-FOR = xxx.xxx.xxx.xxx (ip do cliente), mas não há cabeçalho x-client-ip.
Quando eu uso:
option forwardfor header X-Client-IP
option http-server-close
No servidor de destino, vejo o cabeçalho X-CLIENT-IP = xxx.xxx.xxx (IP do cliente), mas X-FORWARDED-FOR = xxx.xxx.xxx.xxx (HAProxy ip)
Eu preciso ver no cabeçalho de destino onde X-CLIENT-IP e X-FORWARDED-FOR tem valor de IP do cliente.
Eu tento misturar configurações como
option forwardfor
option forwardfor header X-Client-IP
option http-server-close
Sem efeito. Também não consigo instalar nenhum módulo. O alvo é o IIS.
Alguma ideia? :(
Se você deseja usar os dois, precisará adicionar o segundo com uma
http-request
palavra - chave.fonte
X-CLIENT-IP
não está sendo definido pelo cliente, mas pelo HAProxy com base no IP de origem. Eu sugeriria deixar esses comentários em perguntas que sejam relevantes para não confundir os leitores.add-header
não remove oX-CLIENT-IP
que pode ter sido definido pelo cliente. É por isso que o @Der_Meister recomendou o usoset-header
. Sugiro editar sua resposta para usarset-header
em seu lugar.A resposta sugerida acima que não funcionou para o KacproSo só precisava ler o valor adicionando
&[...]
, portanto, isso deve funcionar bem:fonte
Experimentando o HAproxy 1.7, esta é a sintaxe correta que faz esse trabalho, sem os colchetes quadrados ao redor do X-Forwarded-For
fonte
Você pode instalar um módulo chamado mod_rpaf nos seus servidores back-end. Isso copia o X-FORWARDED-FOR IP para o X-CLIENT-IP. Para mais informações, consulte isso . No Windows, você deve ter módulos semelhantes, algo como filtros X-Forwarded-For ASAPI.
fonte