Corrigindo erros 502 Bad Gateway no Nginx: Guia passo a passo
Este guia abrangente detalha as causas comuns dos erros 502 no Nginx, incluindo problemas de configuração de proxy, e fornece etapas claras e práticas para diagnosticá-los e resolvê-los rapidamente.
O erro 502 Bad Gateway no Nginx é um dos problemas mais comuns enfrentados por administradores de sistemas. Ele ocorre quando o Nginx, atuando como um servidor proxy reverso, recebe uma resposta inválida do servidor upstream (como o PHP-FPM, Gunicorn, Node.js, etc.).
Causas comuns
- Serviço Upstream inativo: O aplicativo que deveria processar a requisição não está rodando.
- Configurações incorretas: Erros no arquivo de configuração do Nginx (ex: porta ou socket errado).
- Timeout: O servidor upstream está demorando muito para responder.
- Limites de recursos: O servidor ficou sem memória ou CPU.
Como diagnosticar e resolver
1. Verifique os logs de erro
O primeiro passo é sempre verificar os logs do Nginx. Eles geralmente apontam exatamente o que deu errado:
sudo tail -f /var/log/nginx/error.log
2. Verifique o status do serviço upstream
Certifique-se de que o serviço que o Nginx está tentando acessar esteja ativo:
sudo systemctl status php-fpm # Exemplo para PHP
3. Verifique a configuração do proxy
Certifique-se de que o proxy_pass ou fastcgi_pass aponta para o endereço e porta corretos:
location / {
proxy_pass http://127.0.0.1:8080;
}
4. Ajuste os Timeouts
Se o seu aplicativo for lento, você pode precisar aumentar os tempos limite no seu arquivo de configuração:
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
Após fazer qualquer alteração, não se esqueça de testar a configuração e recarregar o Nginx:
sudo nginx -t
sudo systemctl reload nginx