Como corrigir o erro 502 Bad Gateway NGINX? (7 Métodos)
Publicados: 2023-04-20O Nginx é um conhecido servidor da Web de código aberto, altamente popular por seu desempenho, escalabilidade e flexibilidade. No entanto, semelhante a outros servidores da Web, o Nginx pode enfrentar erros que prejudicam sua capacidade de fornecer conteúdo aos clientes. Um desses erros é o erro 502 Bad Gateway Nginx.
Encontrar erros pode ser bastante frustrante e confuso, especialmente se você não for tecnicamente proficiente. Você pode encontrar vários erros proeminentes semelhantes, como a tela branca da morte e o erro ao estabelecer conexão com o banco de dados. Mas o erro 502 bad gateway nginx é muito popular.
Pode haver vários motivos possíveis para esse erro ocorrer e, portanto, diferentes maneiras de solucioná-lo. Nesta postagem, mostraremos o que realmente significa 502 gateway ruim Nginx, suas possíveis causas e qual é o melhor método de solução de problemas que você deve seguir.
Vamos começar!
Leia: 15 métodos para corrigir o erro 502 Bad Gateway em seu site
O que é um erro 502 Bad Gateway Nginx?
Um erro 502 Bad Gateway Nginx é um código de status HTTP que representa um servidor agindo como um gateway ou servidor proxy falhando ao receber uma resposta válida de um servidor upstream. No caso do Nginx, um erro de gateway inválido 502 ocorre quando o servidor não consegue estabelecer uma conexão com o servidor upstream ou quando o servidor upstream retorna uma resposta inválida.
Esse erro é comumente visto ao tentar acessar um site ou aplicativo da web hospedado por trás de um proxy reverso ou balanceador de carga.
Existem várias variações de 502 Bad gateway Nginx Error que você pode encontrar em sites diferentes. Por exemplo:
- Erro HTTP 502- Gateway incorreto
- 502 Erro de proxy
- 502 Bad Gateway
- 502 Serviço temporariamente sobrecarregado
- HTTP 502
- 502 Gateway NGINX incorreto
- Erro 502
O que causa um erro 502 Bad Gateway Nginx?
Pode haver vários motivos pelos quais um erro 502 Bad Gateway pode ocorrer no Nginx, mas aqui estão alguns dos mais comuns listados abaixo:
Servidor sobrecarregado
Quando um servidor de back-end recebe muitas solicitações, ele pode ficar sobrecarregado e não responder dentro do período de tempo limite. Isso causa um erro 502, pois o servidor upstream não pode atender à solicitação do cliente. O dimensionamento adequado do servidor, a alocação de recursos, o balanceamento de carga e as estratégias de dimensionamento podem evitar a sobrecarga do servidor.
Problemas de conectividade
- Problemas de conectividade podem causar um erro 502 Bad Gateway no Nginx quando há um problema com a conexão de rede entre o servidor proxy reverso e o servidor de back-end.
- Isso pode acontecer devido ao congestionamento da rede, configurações de rede incorretas ou falhas de hardware.
- Quando o servidor proxy reverso tenta encaminhar uma solicitação ao servidor back-end, mas não consegue estabelecer uma conexão, ele retorna um erro 502 ao cliente.
- O erro ocorre porque o servidor proxy reverso atua como um intermediário entre o cliente e o servidor de back-end e não consegue se conectar ao servidor de back-end para atender à solicitação do cliente.
- Solucionar problemas de configurações de rede, verificar regras de firewall e monitorar o tráfego de rede pode ajudar a corrigir o problema.
Problemas de DNS
- Problemas de DNS podem causar um erro 502 Bad Gateway no Nginx quando a resolução de DNS para o servidor de back-end falha.
- Isso pode acontecer devido a configurações de DNS incorretas, falhas do servidor DNS ou problemas de cache do DNS.
- Quando um cliente envia uma solicitação ao servidor proxy reverso, o servidor proxy reverso precisa resolver o nome de domínio do servidor back-end para um endereço IP.
- Se a resolução do DNS falhar, o servidor proxy reverso não poderá encaminhar a solicitação ao servidor de back-end, resultando em um erro 502 sendo retornado ao cliente.
Leia: O que é DNS?
Restrições de firewall
- As restrições de firewall podem causar um erro 502 Bad Gateway no Nginx quando um firewall bloqueia a conexão entre o servidor proxy reverso e o servidor de back-end.
- Isso pode acontecer quando o firewall está configurado para restringir o tráfego de e para portas ou endereços IP específicos.
- Quando o servidor proxy reverso tenta se conectar ao servidor back-end, mas o firewall bloqueia a conexão, ele retorna um erro 502 para o cliente.
- Isso ocorre porque o servidor proxy reverso atua como um intermediário entre o cliente e o servidor de back-end e não pode estabelecer uma conexão com o servidor de back-end para atender à solicitação do cliente.
- Para corrigir problemas relacionados ao firewall que causam um erro 502, talvez seja necessário ajustar as regras do firewall para permitir que o tráfego flua entre o proxy reverso e os servidores de back-end.
Erros de software
- Um erro 502 Bad Gateway pode ocorrer devido a um bug de software ou configuração incorreta no servidor proxy reverso ou no servidor de back-end.
- Esse erro pode ocorrer devido a erros de codificação ou configurações incorretas de módulos ou aplicativos do servidor.
- Se o software ou a configuração de qualquer um dos servidores contiver um bug, ele poderá falhar ao lidar com solicitações ou responder dentro do período de tempo limite, resultando em um erro 502 sendo retornado ao cliente.
- Para corrigir problemas relacionados ao software que causam um erro 502, talvez seja necessário examinar os logs do proxy reverso e dos servidores de back-end para identificar erros ou mensagens de aviso.
PHP-FMP está demorando muito para responder
- O PHP-FPM (FastCGI Process Manager) pode causar um erro 502 Bad Gateway no Nginx quando ele não responde dentro do período de tempo limite ou encontra um erro crítico.
- Este erro pode ocorrer devido a recursos insuficientes, configuração incorreta ou um bug no código PHP.
- O PHP-FPM é uma maneira popular de executar aplicativos PHP no Nginx, onde o Nginx envia a solicitação ao PHP-FPM e processa o código PHP e retorna o resultado ao Nginx, que então envia a resposta de volta ao cliente.
- Para corrigir problemas relacionados ao PHP-FPM, pode ser necessário ajustar a configuração do PHP-FPM para aumentar o número de processos ou threads ou ajustar as configurações de tempo limite.
- Você também pode precisar examinar o código PHP para identificar e corrigir quaisquer bugs ou problemas de desempenho.
- Além disso, monitorar os logs do servidor e os recursos do sistema pode ajudar a identificar quaisquer padrões ou tendências que possam indicar um problema maior com o PHP-FPM.
Leia: Como corrigir o erro de tempo limite do gateway HTTP 504?
Como corrigir um 502 Bad Gateway Nginx?
Aqui estão algumas das melhores soluções que você pode seguir para corrigir um erro 502 Bad Gateway Nginx:
- Verifique o status do Nginx
- Verifique o status do servidor de back-end
- Verifique a configuração de DNS
- Verifique a configuração do firewall
- Aumente o tamanho do buffer
- Reinicie o servidor Nginx
- Verifique o status do PHP-FPM
Verifique o status do Nginx
A primeira coisa que você precisa fazer é verificar se o Nginx está rodando e respondendo às requisições ou não. Para fazer isso, execute o seguinte comando dado abaixo:
1 |
systemctl status nginx |
Se o Nginx estiver em execução, você receberá uma mensagem de saída mais ou menos assim,
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-10-11 10:25:41 UTC; 1 days ago
Docs: https://httpd.nginx.org/docs/2.4/
Se o Nginx não estiver em execução, você receberá uma mensagem de saída mais ou menos assim,
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2022-10-11 10:25:41 UTC; 25s ago
Docs: https://httpd.nginx.org/docs/2.4/
Agora, caso o Nginx não esteja em execução, você deve iniciá-lo novamente usando o seguinte comando,
systemctl start nginx
Verifique o status do servidor de back-end
- Faça login no servidor proxy reverso que está hospedando o Nginx.
- Abra uma janela de terminal e execute o seguinte comando:
curl -I http://backend-server-ip-address/
• Substitua “back-end-server-ip-address” pelo endereço IP do seu servidor de back-end.
• Verifique o código de status HTTP na saída do comando. Se o servidor de back-end estiver funcionando corretamente, você deverá ver um código de status de 200 OK.
• Se você receber um código de status diferente de 200, isso indica que pode haver um problema com o servidor back-end. Você pode investigar o problema examinando os logs do servidor de back-end para identificar quaisquer erros ou mensagens de aviso.
Verifique a configuração de DNS
Se a resolução de DNS falhar, o servidor proxy reverso não poderá encaminhar a solicitação ao servidor de back-end, resultando em um erro 502 Bad Gateway sendo retornado ao cliente. Portanto, é importante verificar se a configuração de DNS do servidor de back-end está correta.
Para verificar a configuração do DNS, você pode executar as seguintes etapas:
- Faça login no servidor proxy reverso que está hospedando o Nginx.
- Abra uma janela de terminal e execute o seguinte comando:
nslookup backend-server-domain-name
Substitua “backend-server-domain-name” pelo nome de domínio do seu servidor de back-end.
• Verifique a saída do comando para verificar se o endereço IP correto é retornado para o servidor de back-end.
- Se a saída do comando indicar que a resolução do DNS falhou, pode haver um problema com a configuração do DNS. Você pode investigar o problema verificando as configurações de DNS para o nome de domínio do servidor de back-end ou entrando em contato com seu provedor de DNS para obter assistência.
Verifique a configuração do firewall
É aconselhável verificar os logs do firewall em busca de um bloqueio incomum. Às vezes, os firewalls também impedem ou bloqueiam sites. Para superar esse problema, você precisa desativar temporariamente seus firewalls e verificar se o problema persiste ou foi resolvido.
Aumente o tamanho do buffer
Aumentar o tamanho do buffer permite que o Nginx armazene mais dados da resposta do servidor, garantindo que a resposta seja completa e sem erros. Para aumentar o tamanho do buffer, você precisa editar o arquivo de configuração do Nginx e adicionar as seguintes diretivas.
-
proxy_buffer_size
: define o tamanho de cada buffer. O valor padrão geralmente é 4K. Você pode aumentá-lo para um valor mais alto, dependendo dos requisitos do seu servidor. Por exemplo, para definir o tamanho do buffer para 16K, adicione a seguinte linha ao seu arquivo de configuração:
proxy_buffer_size 16k;
-
proxy_buffers
: define o número de buffers a serem alocados. O valor padrão geralmente é 8. Você pode aumentá-lo para um valor mais alto, dependendo dos requisitos do seu servidor. Por exemplo, para definir o número de buffers para 32 e o tamanho do buffer para 16K, adicione a seguinte linha ao seu arquivo de configuração:
proxy_buffers 32 16k;
Observação: é importante observar que aumentar o tamanho do buffer e o número de buffers aumentará o uso de memória no servidor. Portanto, você deve experimentar diferentes tamanhos de buffer e números de buffer para encontrar a configuração ideal para seu servidor e aplicativo.
- Depois de fazer alterações no arquivo de configuração do Nginx, salve o arquivo e reinicie o Nginx para que as alterações entrem em vigor. Você pode fazer isso executando o seguinte comando:
sudo service nginx restart
Reinicie o servidor Nginx
Em alguns casos, apenas reiniciar o servidor Nginx pode resolver o erro 502 bad gateway Nginx. Para fazer isso,
Você precisa executar um comando em seu terminal ou shell. O comando exato depende do sistema operacional e da distribuição que você está usando, mas aqui estão alguns exemplos:
- Ubuntu e Debian:
sudo service nginx restart
- CentOS, Fedora e RHEL:
sudo systemctl restart nginx
- macOS :
sudo nginx -s reload
Esses comandos reiniciarão normalmente o servidor Nginx, o que significa que ele aguardará o término de qualquer conexão ativa antes de desligar e reiniciar.
Verifique o status do PHP-FPM
Às vezes, o erro 502 Bad Gateway Nginx também pode ser acionado pela não execução do PHP-FPM. Portanto, é necessário verificar o status do PHP-FPM para garantir que ele esteja funcionando corretamente.
Para verificar o status de execução, você pode usar o seguinte comando,
sudo service php-fpm status
Se o PHP-FPM estiver em execução, você deverá ver uma mensagem informando que ele está ativo.
No entanto, caso o PHP-FPM não esteja em execução, você pode tentar reiniciá-lo usando o seguinte comando:
sudo service php-fpm restart
Este comando reiniciará o serviço PHP-FPM, o que pode ajudar a resolver qualquer problema que possa estar acionando um erro 502 bad gateway Nginx.
Resumo
Um erro 502 Bad Gateway Nginx é um erro comum que os usuários do Nginx podem encontrar. Geralmente é causado por problemas de conectividade, sobrecarga do servidor, problemas de DNS, restrições de firewall ou bugs de software.
No entanto, seguindo as etapas descritas neste artigo, você pode solucionar problemas e resolver um erro nginx de gateway inválido 502.
Se nenhum dos métodos acima funcionou para você, infelizmente, considere procurar assistência nos fóruns Nginx ou em um consultor Nginx altamente experiente e qualificado.
Se você tiver alguma dica ou sugestão sobre o erro 502 Bad Gateway Nginx que podemos ter perdido nesta postagem ou se quiser compartilhar sua experiência com o mesmo, informe-nos na seção de comentários abaixo. Congratulamo-nos com a sua entrada.
Leia: Como corrigir o erro interno do servidor HTTP 500 no WordPress?
perguntas frequentes
Como faço para corrigir 502 Bad gateway nginx?
Você pode corrigir o erro 502 Bad Gateway nginx seguindo os métodos abaixo:
1. Verifique o status do Nginx
2. Verifique o status do servidor de back-end
3. Verifique a configuração do DNS
4. Verifique a configuração do firewall
5. Aumente o tamanho do buffer
6. Reinicie o servidor Nginx
7. Verifique as estatísticas do PHP-FPM
Como verifico meu status nginx?
Para verificar o status do nginx, execute o seguinte comando abaixo:
systemctl status nginx
A saída mostrará se o nginx está em execução ou não.
O que é um erro de gateway 502 incorreto?
Um erro 502 Bad Gateway Nginx é um código de status HTTP que representa um servidor agindo como um gateway ou servidor proxy falhando ao receber uma resposta válida de um servidor upstream.