Base de Conhecimento

Erro 502 Bad Gateway: o que é e como resolver na VPS

  • erro 502 bad gateway, nginx, vps, php-fpm, tutorial
  • Usuários acharam útil: 0

Entenda o 502, separe-o do 503 e do 504 e siga o passo a passo na VPS: log do Nginx, serviço de trás, porta, memória e configuração, na ordem.

Por Redação Eleven Host · @robson.direitodigital · 27 de outubro de 2026 · 7 min de leitura

Arte da Eleven Host: janela de terminal com o título: Erro 502 Bad Gateway: o que é e como resolver na VPS

Capa da Redação Eleven Host para o guia: Erro 502 Bad Gateway: o que é e como resolver na VPS Arte: Eleven Host

O erro 502 Bad Gateway aparece quando o Nginx, que recebe o visitante, pede a página a outro programa e recebe uma resposta inválida ou nenhuma. Na VPS, comece lendo o log de erro do Nginx: ele costuma indicar qual programa não respondeu.

Este guia explica o que o código significa, como separá-lo do 503 e do 504 e como investigar na ordem certa, em servidores Ubuntu ou Debian com Nginx. Para o diagnóstico geral de qualquer site fora do ar, veja Site fora do ar: o que fazer, passo a passo; aqui o foco é só o 502.

O que significa o erro 502 Bad Gateway

Segundo a documentação da MDN, o código 502 indica que o servidor, atuando como intermediário (gateway ou proxy), recebeu uma resposta inválida do servidor para o qual encaminhou a requisição, chamado de upstream.

Em linguagem simples: o Nginx é o porteiro e o programa que monta a página é a cozinha. O porteiro recebeu o pedido do visitante e o passou para a cozinha. Se a cozinha está fechada, travada ou na porta errada, o porteiro volta com a notícia de que não veio resposta boa. Essa cozinha pode ser o PHP-FPM do WordPress, uma aplicação Node.js ou Python, o n8n ou um container Docker.

502, 503 e 504: qual é a diferença

  • 502 Bad Gateway: o intermediário recebeu uma resposta inválida do programa de trás.
  • 503 Service Unavailable: o servidor está indisponível por um tempo, por exemplo por sobrecarga ou manutenção.
  • 504 Gateway Timeout: o intermediário não recebeu resposta a tempo.

Se você só está visitando o site

Segundo a MDN, o 502 é um problema do servidor do site, e não do seu computador ou da sua conexão. Em geral, não há nada que você consiga consertar daqui. Vale recarregar a página depois de alguns instantes.

Se o erro continuar e o site for importante para você, avise o responsável por ele. Quem administra o servidor é quem consegue ler o log e achar o programa que parou. Se esse alguém é você, siga para o passo a passo.

Passo a passo para o dono do site na VPS

Os comandos abaixo valem para Ubuntu e Debian com Nginx. Entre na VPS por SSH com um usuário que tenha sudo e siga a ordem: cada passo estreita a busca para o seguinte.

  1. Veja o log de erro do Nginx. No Debian e no Ubuntu o caminho padrão é este: sudo tail -n 50 /var/log/nginx/error.log. Procure as linhas mais recentes, que correspondem ao momento em que o erro apareceu.
  2. Leia a mensagem. Ela aponta o tipo de falha. A próxima seção explica as quatro mensagens mais típicas.
  3. Veja se o serviço de trás está rodando. Para o PHP-FPM: sudo systemctl status php8.3-fpm. Troque 8.3 pela sua versão; para descobri-la, liste os sockets com ls /run/php/. Para o Nginx: sudo systemctl status nginx. Para uma aplicação Node ou Python: sudo systemctl status nome-do-servico. Para Docker: docker ps, que mostra se o container está "Up", e docker logs nome-do-container --tail 50.
  4. Reinicie o que caiu. Por exemplo: sudo systemctl restart php8.3-fpm. Se o erro sumir, anote o horário e siga até os passos de memória e de logs para descobrir por que o serviço caiu.
  5. Confira a porta. O comando sudo ss -tlnp mostra quem escuta em qual porta. Compare com o proxy_pass http://127.0.0.1:PORTA; ou com o fastcgi_pass unix:/run/php/...; da configuração do seu site, na pasta /etc/nginx/sites-available/.
  6. Teste o programa direto, sem o Nginx. Rode curl -I http://127.0.0.1:PORTA, trocando PORTA pela porta da aplicação. Se o programa responde aqui e o site continua com 502, o mais provável é que o problema esteja na ligação entre os dois, na configuração do Nginx.
  7. Depois de mexer na configuração do Nginx, teste e recarregue: sudo nginx -t e sudo systemctl reload nginx.
  8. Verifique a memória. Rode free -h e sudo journalctl -k | grep -i "out of memory". Quando falta RAM, o kernel encerra processos e registra "Out of memory: Killed process". Se aparecer, leia VPS lento? O que fazer: 6 sinais de que ficou pequeno.
  9. Leia os logs do serviço. Por exemplo: sudo journalctl -u php8.3-fpm --since "1 hour ago".

O limite de tempo do Nginx para falar com o programa de trás tem padrão de 60 segundos nas diretivas proxy_connect_timeout e proxy_read_timeout. Aumentar esses valores não resolve o 502 por si só: antes de mexer neles, descubra no log qual é a falha.

O que cada mensagem do log quer dizer

O log de erro do Nginx usa frases fixas. Estas quatro são mensagens típicas de 502:

  • connect() failed (111: Connection refused) while connecting to upstream: o programa de trás não está ouvindo naquela porta. Ele está parado ou a porta do proxy_pass está errada. Use os passos 3 e 5.
  • connect() to unix:/run/php/php8.x-fpm.sock failed (2: No such file or directory): o socket do PHP-FPM não existe. A versão no caminho pode ser diferente da instalada, ou o serviço está parado. Compare com o resultado de ls /run/php/.
  • (13: Permission denied): há um problema de permissão no socket ou no usuário. Confira o usuário e as permissões do socket.
  • upstream prematurely closed connection while reading response header from upstream: o programa fechou a conexão no meio da resposta. Ele caiu ou encerrou por erro fatal, como falta de memória. Use os passos 8 e 9.

Vai rodar o n8n, o WordPress ou outra aplicação no seu próprio servidor? Os planos de VPS começam em R$ 17,00/mês, no Plano Bronze; confira na loja o que cada plano inclui. Ver planos de VPS

Exemplos: n8n e WordPress

n8n atrás do Nginx. O n8n escuta na porta interna 5678 e o Nginx repassa os pedidos para ela. Com o 502, rode docker ps para ver se o container está "Up", leia docker logs nome-do-container --tail 50 e confira com sudo ss -tlnp se a porta 5678 está aberta. O guia Instalar n8n na VPS: passo a passo com Docker mostra a instalação com essa configuração.

WordPress com PHP-FPM. O Nginx entrega os pedidos de PHP ao serviço php8.3-fpm por um socket em /run/php/. Se a versão do PHP mudou numa atualização, o fastcgi_pass pode apontar para um socket que não existe mais: é o caso da mensagem "No such file or directory" acima. O guia Instalar WordPress na VPS: passo a passo com Nginx traz a configuração completa.

O log de erro do Nginx é o primeiro lugar a olhar. Reiniciar o serviço pode fazer o site voltar, mas é a mensagem do log que ajuda a descobrir por que ele caiu.

Checklist rápido do 502

  • Li as últimas linhas de /var/log/nginx/error.log e anotei a mensagem.
  • Conferi o status do serviço de trás (systemctl status ou docker ps).
  • Reiniciei o serviço que estava parado.
  • Comparei a porta de sudo ss -tlnp com o proxy_pass ou o fastcgi_pass.
  • Testei o programa direto com curl -I http://127.0.0.1:PORTA.
  • Rodei sudo nginx -t antes de qualquer reload.
  • Olhei a memória com free -h e procurei "out of memory" no journalctl.
  • Li o journalctl -u do serviço para achar o motivo da queda.

Quer um servidor para colocar o seu site no ar? Os planos de VPS começam em R$ 17,00/mês, no Plano Bronze; confira na loja o que cada plano inclui. Conhecer a VPS

Perguntas frequentes

O erro 502 é culpa do PHP?

Nem sempre. O programa de trás pode ser PHP-FPM, Node.js, Python, n8n ou um container Docker. A mensagem do log de erro do Nginx costuma indicar qual deles não respondeu.

Reiniciar o servidor resolve o 502?

Reiniciar o serviço parado pode fazer o site voltar. Se o erro voltar, o log do serviço (journalctl -u) e a checagem de memória mostram o motivo da queda.

Aumentar o timeout do Nginx resolve o 502?

Não resolve por si só. O padrão de proxy_connect_timeout e de proxy_read_timeout é 60 segundos, e o 502 indica resposta inválida do programa de trás. Leia o log para saber se o caso é de demora ou de falha na conexão.

Qual é a diferença entre 502 e 504?

No 502, o intermediário recebeu uma resposta inválida. No 504, ele não recebeu resposta a tempo.

Estou só visitando o site. O que faço?

Recarregue a página depois de alguns instantes. Segundo a MDN, o problema está no servidor do site, e quem consegue resolvê-lo é o responsável por ele.

Esta resposta lhe foi útil?

Artigos Relacionados