Olá,
Estou enfrentando um problema estranho com meu Discourse onde erros 502 ocorrem apenas para uma conta de usuário específica (admin) após o login, enquanto:
-
Usuários anônimos podem acessar o site normalmente
-
Outras contas de usuário podem fazer login e usar o site normalmente
-
O problema aparece apenas para uma conta específica (conta de administrador)
Ambiente
-
Discourse instalado via configuração Docker oficial
-
Proxy reverso / CDN: ArvanCloud (semelhante ao Cloudflare)
-
O acesso à internet internacional está restringido / instável (GitHub e alguns serviços externos não estão acessíveis)
-
O Discourse não é atualizado há ~1 mês
Sintomas
Ao acessar o site:
-
Se eu abrir o site em modo privado/anônimo → o site carrega normalmente
-
Se eu fizer login usando minha conta principal → imediatamente recebo 502 Bad Gateway
-
Se eu fizer login usando outra conta → tudo funciona bem
Portanto, o problema é claramente específico do usuário e acionado após a autenticação.
Logs de erro do CDN (ArvanCloud)
Dois erros principais aparecem:
1. Tempo limite do upstream ao ler o upstream
upstream timed out (110: Connection timed out) while reading upstream
URLs afetadas são principalmente assets, por exemplo:
-
/assets/browser-detect-*.js
-
/assets/plugins/automation-*.js
-
/assets/plugins/discourse-gamification-*.js
-
/assets/plugins/discourse-lazy-videos-*.js
2. Conexão encerrada prematuramente pelo upstream
upstream prematurely closed connection while reading response header from upstream
Por exemplo:
-
/stylesheets/common_theme_rtl_*.css
-
/theme-javascripts/*.js
Então, o CDN está esperando uma resposta do Discourse, mas o backend atinge o tempo limite ou fecha a conexão.
O que encontrei no backend
Nos rastreamentos de pilha do Rails, o caminho do erro aponta para:
-
current_user_serializer.rb -
discourse_updates.rb -
método:
DiscourseUpdates.has_unseen_features?
O que sugere que a falha/tempo limite ocorre ao verificar anúncios de novos recursos para usuários logados.
Como apenas um usuário é afetado, isso sugere fortemente que o problema é acionado durante a serialização específica do usuário, e não na renderização global do site.
Qualquer orientação seria apreciada.
Muito obrigado.