Erro 502 Bad Gateway na VPS: Causas Mais Comuns e Como Resolver

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 status ou pm2 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.