Erro 502 Bad Gateway: o que é e como resolver na VPS
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

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.
- 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. - Leia a mensagem. Ela aponta o tipo de falha. A próxima seção explica as quatro mensagens mais típicas.
- Veja se o serviço de trás está rodando. Para o PHP-FPM:
sudo systemctl status php8.3-fpm. Troque8.3pela sua versão; para descobri-la, liste os sockets comls /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", edocker logs nome-do-container --tail 50. - 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. - Confira a porta. O comando
sudo ss -tlnpmostra quem escuta em qual porta. Compare com oproxy_pass http://127.0.0.1:PORTA;ou com ofastcgi_pass unix:/run/php/...;da configuração do seu site, na pasta/etc/nginx/sites-available/. - Teste o programa direto, sem o Nginx. Rode
curl -I http://127.0.0.1:PORTA, trocandoPORTApela 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. - Depois de mexer na configuração do Nginx, teste e recarregue:
sudo nginx -tesudo systemctl reload nginx. - Verifique a memória. Rode
free -hesudo 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. - 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 doproxy_passestá 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 dels /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.loge anotei a mensagem. - Conferi o status do serviço de trás (
systemctl statusoudocker ps). - Reiniciei o serviço que estava parado.
- Comparei a porta de
sudo ss -tlnpcom oproxy_passou ofastcgi_pass. - Testei o programa direto com
curl -I http://127.0.0.1:PORTA. - Rodei
sudo nginx -tantes de qualquerreload. - Olhei a memória com
free -he procurei "out of memory" nojournalctl. - Li o
journalctl -udo 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.