Tempo de leitura: 3 minutos
O erro 502 Bad Gateway aparece quando o servidor web (Nginx ou Apache) recebe a requisição, mas não consegue uma resposta válida da aplicação por trás dele. É diferente de um erro 500, que geralmente vem da própria aplicação: o 502 é sobre a comunicação entre as camadas do servidor.
Antes de sair mexendo em configuração, vale confirmar que o servidor tem recursos suficientes. O Cloud VPS Brasil da Rubfy resolve boa parte dos casos de 502 causados por falta de RAM ou CPU, com SSD NVMe e Intel Xeon Gold de sobra.
Causa 1: a aplicação caiu ou não subiu
A causa mais comum. O Nginx está de pé, mas o processo Node.js, PHP-FPM ou Python que deveria responder na porta interna não está rodando. Confira se o serviço está ativo:
sudo systemctl status nome-do-servico
# ou, se rodar com PM2
pm2 status
Se estiver parado, o passo a passo completo de gerenciar processos Node.js está em PM2 na VPS: como gerenciar processos Node.js em produção.
Causa 2: PHP-FPM travado ou sem processo livre
Em sites WordPress ou PHP em geral, o 502 costuma vir do PHP-FPM sem worker disponível pra atender a requisição. Reinicie o serviço:
sudo systemctl restart php8.2-fpm
Troque php8.2-fpm pela versão instalada no seu servidor (confira com php -v). Se o problema for recorrente, o número de processos filhos configurado no pool do PHP-FPM (pm.max_children) provavelmente está baixo demais pro tráfego do site.
Causa 3: timeout da aplicação
Se a aplicação demora demais pra responder (uma consulta pesada no banco, por exemplo), o Nginx desiste antes e devolve 502. Você pode aumentar o tempo de espera no bloco do proxy:
location / {
proxy_pass http://127.0.0.1:3000;
proxy_read_timeout 90s;
proxy_connect_timeout 90s;
}
Mas atenção: aumentar o timeout é um remédio, não a cura. O ideal é investigar por que a aplicação está demorando tanto pra responder.
Causa 4: falta de memória (OOM killer)
Quando a RAM acaba, o Linux mata processos automaticamente pra sobreviver, e geralmente é a aplicação quem sofre primeiro. Confira se aconteceu isso:
dmesg | grep -i "killed process"
Se aparecer algum resultado, o servidor está sem RAM suficiente pra rodar o que está instalado nele. Confira o uso atual com free -h e considere criar uma área de swap, como no guia sobre swap memory na VPS Linux, ou migrar pra um plano com mais memória.
Causa 5: configuração errada do proxy_pass
Um erro de digitação na porta ou no endereço do proxy_pass também gera 502. Confira se a aplicação está mesmo escutando na porta configurada:
sudo ss -tlnp | grep 3000
Se não aparecer nada, a aplicação não está escutando naquela porta, e o Nginx nunca vai conseguir se conectar.
Checklist rápido
- A aplicação/serviço por trás está rodando? (
systemctl statusoupm2 status) - Ela está escutando na porta certa? (
ss -tlnp) - Tem RAM disponível? (
free -h) - O log de erro do Nginx dá alguma pista? (
tail -f /var/log/nginx/error.log)
Conclusão
O 502 Bad Gateway quase sempre aponta pra alguma coisa entre o servidor web e a aplicação: processo caído, timeout ou falta de memória. Seguindo o checklist na ordem, dá pra identificar a causa em poucos minutos na maioria dos casos.
Rode isso numa VPS de verdade
Boa parte dos casos de 502 some quando o servidor tem recurso de sobra. O Cloud VPS Brasil da Rubfy roda com Intel Xeon Gold, SSD NVMe, tráfego ilimitado e suporte humano de verdade via WhatsApp e ticket, com preço fixo em reais.