CloudFlare e Real IP

Sto cercando di visualizzare gli IP reali in Discourse senza molto successo. Ho aggiunto il file yml di Cloudflare alla mia configurazione e ho verificato che il file discourse.conf nel container contenga le righe corrette:

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;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header CF-Connecting-IP;

Ho anche verificato che $http_cf_connecting_ip abbia l’IP corretto nei log, ma per qualche motivo $remote_addr non viene impostato correttamente. Qualcun altro ha riscontrato questo problema?

Forse usa il modello Cloudflare?

Aggiungi

  - "templates/cloudflare.template.yml"

al tuo app.yml dove si trovano gli altri modelli.

1 Mi Piace

Grazie per la risposta! Sto usando il modello Cloudflare. Dopo ulteriori ricerche, sembra che non funzioni perché tutti gli indirizzi remote_addr che arrivano a Nginx sono indirizzi Docker. Sto cercando di capire perché questo accade.

Stai usando anche un server proxy inverso locale? Se sì, dovrai aggiungere quell’indirizzo alla tua configurazione set_real_ip (e forse il proxy inverso gestirà le cose di Cloudflare?)

Non sto eseguendo intenzionalmente un proxy inverso, ma ho specificato un IP specifico per esporre le porte nel mio file app.yml.

esponi:
  - "xxx.xxx.xxx.xxx:80:80"    # http
  - "xxx.xxx.xxx.xxx:443:443"  # https

Non lo so. Forse devi includere alcuni IP di Docker?

L’IP visualizzato da Discourse è un IP di Docker?

2 Mi Piace

Hai seguito l’installazione standard? Di solito funziona subito con il template.

2 Mi Piace

Grazie a entrambi per l’aiuto! Alla fine, Immunify360 sul nostro VPS si stava iniettando come proxy prima del container. Aggiungere l’IP di Docker a set_real_ip_from ha temporaneamente risolto il problema mentre cerco di disabilitare Immunify.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.