Esegui altri siti web sulla stessa macchina di Discourse

Quindi vuoi Servire Discourse da una sottocartella (prefisso di percorso) invece che da un sottodominio?

1 Mi Piace

Fantastico. Sembra quello che sto cercando. Grazie.

1 Mi Piace

Come posso entrare in questo?? Voglio dire, come trovo quella parte?? Ci sono 2 set di righe uguali! Quali sono destinate a essere modificate o cambiate??

EDIT da qui:

Lascia perdere amico..! Grazie per il tuo tempo! L’ho capito da solo :upside_down_face:

Comunque. il tuo metodo non sta funzionando del tutto

2 Mi Piace

Devi anche configurare le variabili d’ambiente almeno in discourse 3..

apri il tuo app.yml

e cerca le variabili d’ambiente e compilale.

Grazie per questo,
ho configurato per prima cosa discourse standalone, che mi mostra la pagina di registrazione corretta su http. Ho poi installato nginx ma senza certificato, perché lo uso in un laboratorio di test senza accesso a Lets Encrypt. Ora vedo la pagina di registrazione, ma senza stile. Nei log di nginx sull’host vedo errori 404. Qualche idea per risolvere?
grazie
Risolto: devo commentare try_files $uri $uri/ =404;", che è predefinito su debian 11 e nginx 18.0-6.

1 Mi Piace

Errori. Dopo aver impostato questo, il browser Chrome mostra errori:

Contenuto misto: la pagina a '\u003cURL\u003e' è stata caricata tramite HTTPS, ma ha richiesto un font non sicuro '\u003cURL\u003e'. Questa richiesta è stata bloccata; il contenuto deve essere servito tramite HTTPS.

1 Mi Piace

Hai attivato force_https?

1 Mi Piace

Sì, l’ho fatto al passaggio certbot --nginx. E ci ho provato molte volte, non ha funzionato.

Devi impostare l’impostazione di discourse force_https, non su nginx. Meglio farlo con una variabile d’ambiente, ma puoi farlo nell’ux se riesci ad accedere ad admin/settings.

2 Mi Piace

Ho seguito i passaggi precedenti e ho eseguito correttamente nginx, ma quando ho provato ad accedere all’URL, ho ricevuto un errore ERR_TOO_MANY_REDIRECTS.



Qualcuno può aiutarmi a capire perché?

bind() a unix:/shared/nginx.http.sock non riuscito (95: Operazione non supportata)

Sono confuso, non riesco a eseguire /discourse-setup perché lo sto installando su un webserver esistente, eppure dovrei modificare un file .yml che non viene creato a meno che non esegua /discourse-setup. Quindi app.yml non esiste, come faccio a modificarlo?

Copia standalone.yml dalla directory dei campioni.

Mi sento un idiota dopo aver letto questo post venti volte e non aver notato che l’ultima riga di quella sezione diceva “Aggiunto”. Potrei suggerire a @riking di modificare l’introduzione in questo modo:

1 Mi Piace

Ho apportato la modifica suggerita (e ho eliminato i post sul fatto che si trattasse di un wiki che apparentemente il tuo livello di fiducia ti impedisce di modificare, mi dispiace per questo). È una modifica sottile, ma penso che possa aiutare altri. Grazie.

2 Mi Piace

Ho una configurazione leggermente diversa: il mio reverse proxy non è in esecuzione sulla macchina host, ma in un container Docker separato.
Attualmente sto utilizzando una rete Docker per collegare i due, quindi non espongo Discourse tramite socket Unix.

Funziona bene, ma presenta un inconveniente significativo: il rate limiting vede solo l’IP del reverse proxy e quindi limita erroneamente il reverse proxy…

Vedo diverse opzioni:

  1. Rimuovere il template di rate limiting. (Non è una grande opzione…)
  2. Creare un mio template che configuri Nginx per set_real_ip_from il reverse proxy.
  3. Modificare il template di rate limiting per utilizzare $http_x_forwarded_for invece di $binary_remote_addr.
  4. Esporre il socket Unix nel container del reverse proxy. (Non so se/come sia possibile.)

Idealmente, non vorrei creare un mio template o modificare quelli esistenti, ma utilizzare la configurazione predefinita il più vicino possibile, ovvero l’opzione 4.

Qualche idea? Pro/contro? Pensieri?

Capisco che hai avuto questo problema molto tempo fa, ma mi ci sono appena imbattuto stasera e ho trovato una soluzione che ha funzionato per me.

Il mio problema riguardava il mio registrar che agiva da proxy con le impostazioni SSL/TLS impostate su “flessibile”. Passando a “Completo” ho risolto immediatamente il problema, vorrei solo che mi fosse venuto in mente prima di ricostruire circa 20 volte.

1 Mi Piace

Cosa si intende per installazione a due contenitori? Grazie.

1 Mi Piace

Un container è un concetto di Docker ed è di fatto un’unità di elaborazione isolata che può avere una configurazione indipendente dal sistema operativo.

Normalmente Discourse e tutte le sue dipendenze (nell’installazione standard) vengono eseguite in un unico container.

Esistono installazioni più avanzate in cui altri servizi possono essere eseguiti in un altro container e persino una in cui Discourse è diviso in due (uno per il database e uno per il web) - un’“installazione a due container”.

NB Discourse utilizza il proprio launcher personalizzato che non è esattamente lo stesso di quello utilizzato da Docker vanilla.

5 Mi Piace

Ho una domanda: se un proxy inverso si trova in un container Docker separato, può comunque utilizzare socket Unix?