Dopo l'attivazione di HTTPS Discourse non funziona

Ciao,

dopo aver attivato i modelli di Let’s Encrypt e ricostruito Discourse, nulla funziona:

NGINX restituisce un errore criptico:

La cosa strana è: non esiste alcuna directory nginx in /ETC

Questi sono i modelli attivi:

Queste sono le impostazioni con cui l’app è stata ricostruita:

Qual potrebbe essere la causa di questi problemi?
Credo che il certificato debba essere emesso per il nome host: discourse.itas-karlsruhe.de

Ho già verificato con il launcher se l’app è effettivamente in esecuzione… Sì, lo è…

I.

Sembra che tu sia nella tua directory home (~) quando esegui cd etc
cd /etc/nginx dovrebbe funzionare

1 Mi Piace

No, l’ho verificato nella directory corretta:

Se si tratta di un’installazione Docker standard, dovrai anche accedere all’app:

cd /var/discourse
./launcher enter app

Se l’operazione va a buon fine, puoi stampare la riga 46 del file di configurazione con sed:

sed -n '46p' /etc/nginx/conf.d/discourse.conf

Con gli stessi template e senza modifiche specifiche a quel file di configurazione, io vedo questo:

  return 301 https://discourse.softpress.com$request_uri;
1 Mi Piace

Grazie.
Ho trovato quanto segue:

image

Come vedi, il campo “Discourse hostname” è compilato in app.yml:

Sembra che, per qualche motivo, non riesca a sostituire il nome host, ma non sono sicuro del perché. Quando hai ricompilato Discourse, l’hai fatto eseguendo questi comandi?

cd /var/discourse
./launcher rebuild app

L’unica differenza che riesco a vedere tra la tua configurazione e la mia è l’uso di un trattino nel nome di dominio, ma mi aspetterei molto poco che questo possa causare problemi.

Sì, è così che ho ricostruito l’app…

Dopo la ricostruzione sembra che tutto funzioni:

Se hai ricostruito più volte, hai raggiunto i limiti di frequenza di Let’s Encrypt.

Non c’è nginx sul server, è all’interno del container di Discourse. Ecco perché non riesci a trovarlo.

Quindi hai risolto il problema ricostruendo?

Dovresti contrassegnare quel post come soluzione.

Ho semplicemente voluto dire che non ho trovato errori o qualcosa di simile nel log. (Vedi screenshot)
Il processo di build SEMBRA essere corretto…

Ho ora richiesto il dominio finale. Ricompilerò l’app con esso.

Dopo aver rimosso tutte le impostazioni specifiche di Let’s Encrypt e utilizzando il nome host originale della VM, tutto funziona. Non so cosa non vada in queste impostazioni.

Ciao Simon,

l’ho ricostruito di nuovo e ho notato che il certificato è stato emesso con il nome sbagliato:

È possibile che app.yml sia configurato in modo errato?

app.txt (4,1 KB)

Cosa intendi?

Io

riga 51

DISCOURSE_HOSTNAME: deinbalkonnetz.de

questo non è il tuo file di configurazione. da dove l’hai preso?

???

È proprio il mio file di configurazione… Abbiamo reindirizzato questo dominio alla nostra VM e sto cercando di configurare Discourse su questo server…

poi, ovunque nella configurazione dove compare deinbalkonnetz.de, devi modificarlo.

dopo di ciò, devi ricompilare l’applicazione

Cosa intendi con ‘ovunque’?
Il nome host viene utilizzato solo alla riga 51…

Non conosco altri file di configurazione tranne app.yml…

Forse questo può aiutare?

1 Mi Piace

Grazie Jammy,

questi sono punti importanti, senza dubbio.

Il problema è che il mio hostname non viene affatto utilizzato:
DISCOURSE_HOSTNAME: ‘deinbalkonnetz.de

Credo che al posto del nome della variabile, nel certificato dovrebbe essere utilizzato l’hostname reale “deinbalkonnetz.de”.

Puoi aggiungere http://deinbalkonnetz.de/ come secondo dominio al certificato Let’s Encrypt come possibile soluzione alternativa?