Ho una domanda su quale header viene utilizzato per il rate-limiting. Per contesto, abbiamo un nginx.conf con set_real_ip e stiamo utilizzando un provider che ci invia traffico con l’IP effettivo del client nell’header Some-Client-IP.
Discourse guarda a X-Forwarded-For o X-Real-IP per il rate-limiting? Penso che stia guardando a X-Forwarded-For perché in production.log vedo l’IP del mio reverse proxy. La soluzione corretta è cambiare anche X-Forwarded-For per guardare a $remote_addr?
Hai aggiunto quella sezione al tuo app.yml? Quelle impostazioni devono trovarsi nell’NGINX all’interno del container. Vedi anche Set up Discourse on a server with existing Apache sites. Quello è per Apache, ma la parte che va in app.yml è la stessa indipendentemente da ciò che sta facendo il reverse proxy.
Non abbiamo HAProxy all’esterno dei container, abbiamo un provider DNS che esegue alcune pre-elaborazioni per noi, quindi il real_ip_header si trova in un altro valore di intestazione e abbiamo effettivamente un elenco di indirizzi IP che devono essere sostituiti.
Abbiamo anche visto un elenco di X-Forwarded-For, mi chiedo se questa sia la causa degli IP errati che vengono visualizzati.
Ad esempio, penso che vediamo 111.11.11.111 nei log di produzione, ma non 55.555.55.55 che è quello che vogliamo (poiché è impostato in x-real-ip)