Nuova installazione dietro Litespeed reverse proxy si blocca nella schermata di caricamento

Sto spostando un’installazione Discourse esistente su un nuovo server e la prima fase consiste nel creare una nuova installazione di Discourse sul nuovo server. Il nuovo server ha già un web server sulle porte 80 e 443, quindi sto eseguendo Discourse come socket Unix dietro un proxy inverso, come descritto qui.

L’unica cosa che sto facendo diversamente è che non sto usando nginx ma OpenLiteSpeed come proxy inverso. Tuttavia, la configurazione per OpenLiteSpeed è piuttosto semplice e l’ho fatta funzionare con altre applicazioni Docker: è sufficiente configurare un’applicazione esterna utilizzando l’indirizzo del socket, e quindi riscrivere tutte le richieste per andare al socket utilizzando un contesto Proxy.

Il risultato è che Discourse si carica quando si accede all’URL proxato (in questo caso forum.prostasia.org), ma mostra solo la schermata di caricamento con i punti animati e si blocca lì.

Qualsiasi suggerimento per la risoluzione dei problemi? Grazie!

Puoi aprire la console JavaScript e vedere cosa viene caricato. Controlla la console e la scheda di rete.

Hai rimosso il template Let’s Encrypt?

1 Mi Piace

Grazie, è stato d’aiuto. Sto vedendo molti di questi errori:

Refused to load the script x because it violates the following Content Security Policy directive:

Quando ho messo un altro container Docker davanti allo stesso reverse proxy, sono riuscito a risolverlo impostando la variabile d’ambiente TRUSTED_PROXIES su **.

Vale la pena provare la stessa cosa, ma come potrei farlo con Discourse?

Sembra che tu abbia davvero sbagliato le impostazioni della tua policy di sicurezza dei contenuti.

Tenta anche di recuperare i loghi da http://www.example.com/ quindi questo potrebbe rivelare dove le cose stanno andando storte. Questo è apparentemente ciò che il tuo modulo pensa sia il suo hostname…

image

1 Mi Piace

Grazie. Onestamente non so da dove provenga example.com. Poiché lo script di installazione discourse-setup non funziona per questo caso d’uso, tutto ciò che ho fatto è stato modificare containers/app.yml e poi eseguire un launcher rebuild app. Suppongo che questo abbia mancato la sovrascrittura di un example.com da qualche parte.

Comunque, sono comunque riuscito a risolvere la mia configurazione. Invece di avviare una nuova installazione e ripristinare il mio backup, ho creato un tarball dell’intera directory /var/discourse dal mio server originale, ho eseguito una ricostruzione sopra di essa e voilà… tutto sembra funzionare bene. Quindi è così che ripristinerò un backup in futuro. :slight_smile:

1 Mi Piace

discourse-setup può funzionare, puoi:

  • disattivare temporaneamente ciò che si trova sulle porte 80/443
  • creare su un server diverso e poi copiare
  • usare lo switch per bypassare il controllo della connettività
1 Mi Piace