IP Lookup sta recuperando X-Forwarded-For del CDN

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?

Hi, did you check this?

1 Mi Piace

Have a look at Running other websites on the same machine as Discourse

Ho appena riscontrato questo problema con Cloudflare quando ho attivato il loro proxy.

Ho risolto modificando la configurazione di Nginx. Devi trovare tutti gli indirizzi IP del proxy e per ciascuno nella sezione 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;
...

Quindi puoi impostare l’IP reale dall’header passato da Cloudflare:

real_ip_header CF-Connecting-IP;

Poiché gli indirizzi IP del proxy potrebbero cambiare, dovrò automatizzare il recupero e l’aggiornamento di questi.

Quindi ricarica/riavvia nginx con:

sv nginx reload o sv nginx restart

Argh. Vorrei aver visto questo post prima! Ho appena passato un’ora oggi a ricreare qualcosa che era già lì: Il tag proxy X-Forwarded-For non viene riconosciuto da Discourse?:

2 Mi Piace

Ti consiglierei di passare alla soluzione integrata, perché aggiornerà automaticamente l’elenco IP da Cloudflare quando ricostruirai il sito!

3 Mi Piace

È probabilmente meglio impostare un cron job per controllare regolarmente piuttosto che fare affidamento sulle ricostruzioni.

Non sembra che cambi molto spesso: https://community.cloudflare.com/t/how-often-do-cloudflare-ips-change/9802/7

2 anni è in realtà più frequentemente di quanto pensassi.

Tuttavia, il controllo è così semplice che farlo una volta al giorno non è un problema. Speriamo che aggiornino l’elenco qualche giorno prima che i nuovi intervalli IP diventino attivi.