Installazione di Discourse 502 Bad Gateway

Ciao a tutti,

Discourse funzionava bene fino all’altro giorno. Dopo l’aggiornamento, sto riscontrando il problema attuale: 502 Bad Gateway.

Sto usando NGINX e non ho modificato nulla di Discourse stesso o del proxy server NGINX principale per il servizio.

Sto anche usando Cloudflare DNS, ecc.

Ecco cosa ho fatto:

  1. Aggiornato Discourse tramite il pannello di amministrazione del sito web, quello per i commit.
  2. Installato certbot sul server prima di rendermi conto che era già presente sul server.
  3. Eseguito “sudo snap install core; sudo snap refresh core”.
  4. Aggiornato npm e nodejs alle ultime versioni.
  5. Ricostruito l’applicazione Discourse dopo essermi reso conto che era inattiva dopo i passaggi da 1 a 4.

Ho ricontrollato tre volte il mio reverse proxy nginx per assicurarmi di non aver toccato nulla, cosa che non ho fatto.

Sono solo un po’ confuso su cosa possa aver sbagliato qui.

Grazie in anticipo,
~Blood

1 Mi Piace

Si ottiene un errore 502 per un minuto o due dopo un aggiornamento/riavvio.

npm e nodejs sul server non fanno alcuna differenza per Discourse, poiché ottiene tutto questo nel contenitore.

Se non è ancora tornato online, allora eseguirei un aggiornamento dalla riga di comando

cd /var/discourse
./launcher rebuild app

Oh.

Puoi guardare

docker logs -f app

e

/var/discourse/shared/logs/.....
1 Mi Piace

Ho controllato i log tramite il primo comando con: docker logs -f app.
Non c’era nulla che mi saltasse all’occhio.

Inoltre, a quanto pare non ho /var/discourse/shared/logs/ ma ho:

/var/discourse/shared/standalone/log

Tuttavia, se i log sono in quella directory, non sono del tutto sicuro quale dovrei leggere.

Oh. Sì. Scusa. Ci sono i log di Rails e ci sono i log di nginx se scendi dal percorso corretto che hai fornito. Puoi controllare i log di Rails per vedere se le cose arrivano dal tuo reverse proxy al container e puoi anche controllare i log di Rails per vedere se c’è un errore in Rails.

Da quello che sto leggendo nei log, sembra che redis non si connetta inizialmente ma si risolva da solo, anche se non sono sicuro se fosse presente prima, quindi onestamente non penso che sia redis a causare il problema che sto riscontrando.

Pensavo potesse essere l’handshake SSL, ma non vedo nulla nel file NGINX error.log che menzioni qualcosa di recente.

Se hai un proxy inverso esterno, allora dovrebbe occuparsi delle cose SSL e non Discourse. Se hai i template ssl e letsencrypt nel tuo file yml, quella potrebbe essere la causa del problema, tranne per il fatto che hai detto che prima funzionava.

Sì, ho appena ricontrollato per assicurarmi che fossero commentati e lo sono, quindi sono completamente confuso sul perché sia successo dopo l’aggiornamento, ecc.

E funzionava prima, probabilmente qualche giorno fa prima di armeggiare un po’ con gli aggiornamenti, ecc. Anche se da quello che posso capire, questo non è l’unico servizio con cui ho problemi, il che mi fa credere che sia la parte NGINX della questione.

1 Mi Piace