O Erro 502 Bad Gateway do NGINX é um erro comum entre os usuários de sites. Existem várias possíveis razões para esse erro e diferentes maneiras de resolvê-lo. Neste artigo, vamos analisar as principais causas possíveis e como corrigir erro NGINX 502 Bad Gateway para usuários e desenvolvedores web.
Características do erro 502 bad gateway
- Erro 502 Bad Gateway do NGINX é uma mensagem de erro que indica que o servidor está recebendo um erro de outro servidor e não consegue se conectar ao PHP-FPM ou o PHP-FPM não está respondendo.
- A utilização do PHP-FPM com o NGINX pode melhorar o desempenho dos sites e reduzir o consumo de recursos. Algumas das possíveis razões para o erro são o NGINX ou o PHP-FPM não estarem em execução, um firewall bloqueando solicitações, o nome de domínio não ser permitido ou o servidor estar indisponível.
- Para resolver o erro, os visitantes do site podem recarregar a página, limpar o cache do navegador e excluir os cookies, tentar usar um navegador diferente ou reiniciar o roteador.
- A plataforma da MetricFire pode ser usada para monitorar os status do NGINX, e o plugin Telegraf permite aos usuários obter visualizações do status do servidor NGINX e dos erros 502.
O que significa o NGINX 502 Bad Gateway?
O 502 Bad Gateway significa que o servidor ao qual você está acessando está recebendo um erro de outro servidor. Isso acontece quando um servidor age como um proxy para receber informações de outro servidor. Ao se conectar a outro servidor, ele retorna um erro. O NGINX retorna o erro 502 se não conseguir se conectar ao PHP-FPM ou se o PHP-FPM não estiver respondendo.
Existem diferentes nomes para o erro 502 que você pode ver em sites diferentes. Por exemplo:
- Erro HTTP 502 – Bad Gateway
- HTTP 502. 502 Serviço Temporariamente Sobrecarregado.
- Erro Temporário (502).
- 502 Bad Gateway NGINX.
- 502 Bad Gateway.
- Erro 502.
- Erro de Proxy 502.
De qualquer forma, a aparência da página que exibe o erro 502 pode ser personalizada em sites diferentes da mesma forma que é feito para o erro 404 não encontrado. Existem diferentes causas do erro 502. Abaixo, vamos olhar para as principais, bem como possíveis maneiras de corrigir esse erro.
Para que serve o PHP-FPM?
O PHP-FPM (Gerenciador de Processos PHP-FastCGI) é uma ferramenta de processamento de solicitações da web para aplicativos PHP. O PHP-FPM, juntamente com o NGINX, pode aumentar significativamente o desempenho dos sites e reduzir o consumo de recursos ao mesmo tempo.
O PHP funciona como um serviço isolado se você estiver usando o PHP-FPM. As solicitações da web são processadas por meio de um soquete TCP/IP, o NGINX lida apenas com solicitações HTTP e o PHP-FPM interpreta o código PHP. O uso de serviços separados é muito importante para melhorar a eficiência.
Possíveis razões para o 502 Bad Gateway
Vamos dar uma olhada em algumas das possíveis razões para o 502 Bad Gateway.
O NGINX não está em execução
Se você vir o erro 502, é necessário verificar se o NGINX está em execução. Para fazer isso, execute o seguinte comando:
systemctl status nginx
Se na resposta você vir que o status está inativo (morto), então você precisa iniciar o NGINX.
O PHP-FPM não está em execução
A próxima razão para o erro 502 é que o PHP-FPM não está em execução. Se você estiver no Linux, pode verificar se o PHP-FPM está em execução usando o seguinte comando:
ps aux | grep php-fpm
Se nenhum processo PHP-FPM for exibido como resultado desse comando, então você precisa iniciar o PHP-FPM para resolver o erro 502.
Timeout do PHP-FPM expira
Se o servidor demorar muito para responder, um erro 502 pode ser causado por um timeout do PHP-FPM. Nesse caso, o PHP-FPM fecha a conexão antes mesmo que a resposta seja enviada, e o NGINX retorna um erro 502. Para corrigir esse problema, você pode aumentar o timeout do PHP-FPM ou terá que pesquisar seu aplicativo e descobrir por que ele não está respondendo por muito tempo.
Firewall bloqueia solicitações
Um firewall pode bloquear a comunicação entre os servidores de borda e o servidor de origem. Alguns sistemas de proteção contra DDoS ou plugins de segurança do seu CMS também podem bloquear solicitações de servidores.
Nome de domínio não é permitido
O nome de domínio não é resolvido para o endereço IP especificado ou todos os endereços IP. Nesse caso, você precisa alterar o servidor DNS e aguardar até que as alterações sejam propagadas e se tornem ativas globalmente.
Servidor está indisponível
O servidor original está fora do ar ou não há conexão com esse servidor.
Usando a MetricFire para monitorar o NGINX
Você sabia que pode visualizar os status do NGINX com a MetricFire? A MetricFire recebe métricas de séries temporais, desde que suas métricas sejam enviadas em um formato que o Graphite possa receber, a MetricFire pode ser uma ótima opção para você.
Para integrar o NGINX com a MetricFire, usamos um plugin Telegraf. Isso permite que você obtenha a visualização necessária do seu servidor NGINX. Você pode ver os erros 502 e o status do seu servidor NGINX.
Como corrigir erro 502 bad gateway?
Na maioria das vezes, o erro 502 ocorre devido a problemas no lado do site. No entanto, há momentos em que a causa está no dispositivo do usuário. Você pode verificar se apenas você está tendo problemas de conexão ou se outras pessoas também não conseguem estabelecer uma conexão com este site.
Para fazer isso, use uma das ferramentas que verificam o status do site e se ele está funcionando ou não. Por exemplo, use uma das seguintes ferramentas ou outras semelhantes: isitdownrightnow.com, downforeveryoneorjustme.com.
Para saber mais sobre a causa do erro 502, você pode examinar o arquivo de log do NGINX no seu computador
nano /var/log/nginx/error.log
Como visitante
Tente verificar se você for o único a ter problemas de conectividade, há várias coisas que você pode fazer para resolver o erro 502 como visitante do site.
- Recarregue a página no navegador. Muitas vezes, o erro 502 é temporário e um simples reinício pode ajudar.
- Limpe o cache do navegador e exclua os cookies. O navegador pode armazenar arquivos antigos ou corrompidos que podem causar o erro 502.
- Tente usar um navegador diferente. Pode haver um problema no navegador específico que você está usando, e o erro não ocorrerá em outro navegador.
- Reinicie seu computador e equipamento de rede. Talvez esse seja o problema e após uma reinicialização, o erro desaparecerá.
- Verifique os plugins e extensões no seu navegador. Se você usar plugins ou extensões e o site funcionar em outro navegador, eles podem estar bloqueando a conexão. Desative todos os plugins e extensões instalados e verifique a conexão novamente.
- Mude seu servidor DNS. Mudar o servidor DNS pode resolver o erro 502. Você pode escolher os servidores DNS da Open DNS ou do Google.
Como desenvolvedor
Na maioria dos casos, o erro 502 ocorre para todos os usuários porque o problema está no site. Como desenvolvedor web, você pode fazer o seguinte:
- Verifique se o seu servidor está disponível.
- Verifique os registros de firewall em busca de falhas incomuns.
- Está usando o Cloudflare? Ele retornará um erro 502 Bad Gateway para seus visitantes quando um determinado limite for atingido. Tente desativar o Cloudflare.
Monitorando métricas do sistema com o Hosted Graphite da MetricFire
Para identificar gargalos e solucionar erros como o erro 502, é útil monitorar as métricas do seu sistema e as tecnologias que você está usando em sua aplicação. A MetricFire tem uma plataforma de código aberto que oferece ferramentas para monitorar e analisar as métricas do seu sistema. A MetricFire oferece Graphite hospedado e Grafana hospedado.
O Grafana é uma aplicação de análise e visualização de dados baseada na web. Ele permite que você crie diversos painéis personalizáveis que podem incluir diagramas, gráficos e notificações. Você pode monitorar facilmente sua instância do Nginx usando a MetricFire.
Vamos dar uma olhada em algumas das principais características do Grafana:
- Modelos de painel. Você pode projetar seu painel em modelos como se estivesse escrevendo código. Com os modelos, você pode usar o mesmo design em diferentes ambientes.
- Anotações. Você pode criar logs e comentários no seu gráfico manualmente ou automaticamente.
- Plugins personalizados. O Grafana pode instalar plugins externos que permitem expandir sua funcionalidade básica.
- Suporte a SQL. Com suporte a SQL, você pode facilmente extrair dados de várias fontes de dados.
- Alertas. O Grafana pode enviar notificações aos usuários sobre incidentes importantes.
O Graphite é uma ferramenta para coleta, armazenamento e processamento de métricas. Você pode usar o Graphite como fonte de dados para o Grafana. O Grafana vem com um editor de consultas Graphite avançado que permite escrever várias consultas, adicionar funções, alterar parâmetros de função, aceitar consultas aninhadas complexas usando links de consulta e muito mais.
O Hosted Graphite e o Grafana permitem que você acompanhe o desempenho do seu sistema em tempo real. A MetricFire oferece serviços de hospedagem para ambas as ferramentas, permitindo que você se concentre no desempenho do seu sistema e monitore suas métricas no seu navegador.
Conclusão
Neste texto, exploramos profundamente o desafiador erro 502 Bad Gateway do NGINX, elucidando suas causas, impactos e soluções. Com ênfase na importância do PHP-FPM e na otimização do desempenho dos sites, abordamos as ações práticas que visitantes e desenvolvedores podem adotar para resolver esse problema.
Além disso, destacamos a utilidade do monitoramento de métricas e a poderosa ferramenta MetricFire, que oferece recursos valiosos para rastrear e solucionar erros, garantindo uma experiência mais suave na web.