Odio davvero fare qualcosa di insolito qui. Lo odio quanto chiunque altro, ma è tutto ciò che so fare e come funzionano tutte le altre app self-hosted che ho.
Ho il mio record A wildcard che punta a un IP interno sulla mia rete, che ha le porte 80 e 443 esportate da nginx proxy manager, che ha tutti i miei certificati SSL configurati. Ho quasi tutto sulla mia rete esistente configurato utilizzando docker, quindi nginx proxy manager è sicuro da usare perché utilizza solo la rete docker per fare il proxy tramite http.
Nel caso di discourse, ho provato a configurare discourse.MYDOMAIN.com su un indirizzo IP locale separato sotto un record A separato e sono riuscito a risolverlo; tuttavia, il modo in cui nginx proxy manager ha configurato lets encrypt funziona e il modo in cui discourse lo ha configurato non funziona per gli IP interni.
Quindi… voglio solo fare il reverse proxy. Tenterò ogni sorta di configurazione di nginx proxy per farlo funzionare. Sono leggermente preoccupato per gli attacchi man-in-the-middle, ma vorrei capire perché la configurazione lets encrypt di nginx proxy manager funziona con la configurazione interna e discourse no.
Ci deve essere un modo!
(P.S. So di essere un po’ confuso. Per favore, fai domande specifiche e potrò fornire chiarimenti)
Ci sono alcuni argomenti sull’esecuzione di Discourse dietro nginx proxy manager. Fondamentalmente, configuri Discourse per non associarsi a nessuna porta e aggiungi le etichette richieste in una sezione labels: nel tuo app.yml.
Se scelgo la strada del gestore di proxy nginx, che è come l’ho configurato ora (invece di configurare Let’s Encrypt sulla VM di Discourse stessa)…
Dovrei comunque collegarmi alla porta 80 sulla VM di Discourse perché nel mio caso si tratta di una macchina separata.
La mia esperienza attuale è che sto riscontrando errori di Contenuto Misto con la mia attuale configurazione del gestore di proxy nginx con la configurazione SSL lì che punta all’indirizzo IP della VM di Discourse sulla porta 80.
Non credo sia possibile eliminarli poiché i riferimenti http:// nel codice sono codificati in modo fisso… o mi sbaglio? è questo che cambierebbe il campo labels a cui hai fatto riferimento?
Non riesco a configurare il socket Unix… la mia VM discourse si trova su una macchina separata. Torniamo al piano originale. Vediamo se riesco a capire come abilitare force_https con altri post sul forum. A scopo informativo, questo è il passaggio che non riesco a fare.
Sono stato in grado di farlo nella GUI come ho menzionato prima.
@Falco, @pfaffman, @Jagster, @merefield… grazie a tutti voi, ho configurato correttamente il reverse proxy e non ho più quegli errori di Mixed Content.
Una volta che ho effettuato il reverse proxy sulla porta 80 della VM di discourse e sono stato in grado di registrarmi e altro, si è trattato di impostare force_https utilizzando la GUI e aggiungere il flag x-forwarded-proto nella scheda avanzata di nginx proxy manager.