L’IP 172.17.0.1 è probabilmente un indirizzo IP di Docker. Presumo che i log che hai pubblicato provengano dal servizio nginx nel container di Discourse. Il mio sospetto è che l’nginx sul tuo host stia inviando la richiesta all’nginx nel container di Discourse, e che l’nginx in Discourse stia vedendo l’IP dell’nginx presente sul tuo host.
Dovresti poter risolvere il problema impostando l’IP reale in Discourse come valore di un’intestazione inviata dall’nginx sull’host, oppure utilizzando un socket per collegare i servizi nginx.
Ad esempio, nell’nginx sull’host esegui proxy_set_header X-Real-IP $remote_addr;, e nell’nginx nel container di Discourse utilizzeresti l’IP reale in base a questa intestazione: set_real_ip_from 0.0.0.0/0; (assumendo che l’nginx di Discourse non sia accessibile pubblicamente) e real_ip_header X-Real-IP;. Probabilmente dovrai utilizzare un template o eseguire un comando sed per includerlo nel file di configurazione nginx in Discourse.
Un’altra opzione è utilizzare i socket e includere il file web.socketed.template.yml secondo le istruzioni qui:
Ma la mia raccomandazione, se economicamente fattibile, è utilizzare Discourse su un server dedicato, senza dover usare nginx come proxy inverso davanti, il che renderebbe la configurazione molto più diretta e semplice.