niginx proxy_pass não está mais passando o IP real

0

Eu tenho essa configuração há anos: centos5, nginx, apache Nginx é configurado para proxy como este proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8000;

Eu não sei o que aconteceu, ou o que eu posso ter feito em algum lugar, mas de repente há pouco mais de um mês, a configuração parou de funcionar: como no apache está recebendo o IP local do proxy em vez do IP real real do cliente. Eu só percebi isso hoje, e é por isso que não sei o que posso ter feito. Eu rastreei os registros HTTP onde eu tenho o IP do cliente logado e é assim que eu sei a data e hora em que essa mudança ocorreu. Os logs do Yum não mostram nada por volta dessa data. Eu cometi o erro de primeiro tentar algumas configurações antes de olhar para os timestamps do arquivo de configuração, para que as informações sejam perdidas. Mas eu não acho que mudei a configuração.

Alguma idéia do que pode ter dado errado?

Eu tentei substituir o x-forwarded-for por proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Host $remote_addr;

e também adicionado %código% no topo da minha configuração http no nginx.conf, mas nada parece funcionar.

Obrigado.

    
por ciuly 18.05.2018 / 23:23

1 resposta

0

Depois de muita escavação, parece que o problema foi causado por algumas alterações relacionadas ao IP em algum lugar. (background: tanto o nginx quanto o apache estão no mesmo servidor.)

Especificamente, a configuração do mod_rpaf estava tendo o RPAF_ProxyIPs 127.0.0.1 desde 2016, quando eu o configurei. Mas de alguma forma, no início de abril, o servidor conseguiu se comunicar com o apache não no 127.0.0.1, mas no IP da LAN do servidor (192.168.0.3) Adicionando isso a RPAF_ProxyIPs sp; venceu o problema.

    
por 20.05.2018 / 22:32