Ciao,
Sto riscontrando uno strano problema con il mio Discourse dove gli errori 502 si verificano solo per un account utente specifico (admin) dopo l’accesso, mentre:
-
Gli utenti anonimi possono accedere al sito normalmente
-
Altri account utente possono accedere e utilizzare il sito normalmente
-
Il problema si presenta solo per un account specifico (account admin)
Ambiente
-
Discourse installato tramite configurazione Docker ufficiale
-
Reverse proxy / CDN: ArvanCloud (simile a Cloudflare)
-
L’accesso a Internet internazionale è ristretto / instabile (GitHub e alcuni servizi esterni non raggiungibili)
-
Discourse non è stato aggiornato da circa 1 mese
Sintomi
Quando si accede al sito:
-
Se apro il sito in modalità privata/incognito → il sito viene caricato correttamente
-
Se accedo con il mio account principale → ricevo immediatamente 502 Bad Gateway
-
Se accedo con un altro account → tutto funziona bene
Quindi il problema è chiaramente specifico dell’utente e attivato dopo l’autenticazione.
Log degli errori del CDN (ArvanCloud)
Appaiono due errori principali:
1. Timeout dell’upstream durante la lettura dell’upstream
upstream timed out (110: Connection timed out) while reading upstream
Gli URL interessati sono principalmente asset, ad esempio:
-
/assets/browser-detect-*.js
-
/assets/plugins/automation-*.js
-
/assets/plugins/discourse-gamification-*.js
-
/assets/plugins/discourse-lazy-videos-*.js
2. Connessione chiusa prematuramente dall’upstream
upstream prematurely closed connection while reading response header from upstream
Ad esempio:
-
/stylesheets/common_theme_rtl_*.css
-
/theme-javascripts/*.js
Quindi il CDN attende una risposta da Discourse, ma il backend va in timeout o chiude la connessione.
Cosa ho trovato sul backend
Nelle tracce dello stack di Rails, il percorso dell’errore punta a:
-
current_user_serializer.rb -
discourse_updates.rb -
metodo:
DiscourseUpdates.has_unseen_features?
Il che suggerisce che il crash/timeout avviene durante il controllo degli annunci di nuove funzionalità per gli utenti connessi.
Dato che è interessato solo un utente, questo suggerisce fortemente che il problema è attivato durante la serializzazione specifica dell’utente, non il rendering globale del sito.
Qualsiasi guida sarebbe apprezzata.
Grazie mille.