Hi Discourse community!
Am I correct to assume that IP Lookup gets the last IP from the X-Forwarded-For header? Cloudfront seems to be attaching their IP at the end.
How would we modify nginx to remove the last IP in the X-Forwarded-For header? We were hoping to get the client IP to prevent spammers.
Could anyone please provide help / guidance?
Cheers
Just wanted to check if anyone else has a workaround for something like this?
pfaffman
(Jay Pfaffman)
Setembro 9, 2021, 2:46pm
4
Isambard
(Isambard)
Junho 21, 2024, 2:12pm
5
Acabei de encontrar este problema com o Cloudflare quando ativei o proxy deles.
Eu corrigi alterando a configuração do Nginx. Você tem que encontrar todos os endereços IP do proxy e, para cada um na seção http:
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
...
Então você pode definir o IP real do cabeçalho passado pelo Cloudflare:
real_ip_header CF-Connecting-IP;
Como os endereços IP do proxy podem mudar, precisarei automatizar a obtenção e atualização deles.
Em seguida, recarregue/reinicie o nginx com:
sv nginx reload ou sv nginx restart
Argh. Gostaria de ter visto este post mais cedo! Acabei de passar uma hora hoje recriando algo que já existia: X-Forwarded-For proxy tag not recognized by Discourse? :
2 curtidas
riking
(Kane York)
Julho 23, 2024, 3:18pm
6
Eu recomendaria que você mudasse para a solução integrada, pois ela atualizará automaticamente a lista de IPs do Cloudflare quando você reconstruir o site!
3 curtidas
Isambard
(Isambard)
Julho 30, 2024, 6:49pm
7
É provavelmente melhor definir um cron job para verificar regularmente do que depender de reconstruções.
pfaffman
(Jay Pfaffman)
Julho 30, 2024, 6:58pm
8
Isambard
(Isambard)
Julho 30, 2024, 9:10pm
9
2 anos é, na verdade, mais frequente do que eu imaginava.
No entanto, a verificação é tão simples que fazê-la uma vez por dia não é problema. Espero que eles atualizem a lista alguns dias antes que os novos intervalos de IP entrem em vigor.