Como corrigir o erro de tempo limite do gateway 504 no seu site WordPress

Publicados: 2020-10-26

O erro 504 Gateway Timeout é um dos erros HTTP 5xx mais comuns enfrentados pelos proprietários de sites e visitantes do site. Para muitos blogs WordPress e plataformas de comércio eletrônico, saber como corrigir erros de servidor como esse é crucial para impedir que seus visitantes suados sejam desviados para sites concorrentes.

Como o erro 504 Gateway Timeout não informa por que ocorreu, é difícil identificar o que está causando o tempo limite do servidor. Este artigo ajudará você a entendê-lo em detalhes, aprender a diagnosticar sua causa e corrigi-lo.

Depois de tentar todas as várias soluções mencionadas no post, seu site deve estar pronto e funcionando em pouco tempo.

Soa interessante? Vamos mergulhar!

Prefere assistir a versão em vídeo?

O erro 504 Gateway Timeout é um dos erros HTTP 5xx mais comuns enfrentados pelos proprietários de sites e visitantes do site. Saiba como corrigi-lo com este guia rapidamente. Clique para Tweetar

O que é o erro de tempo limite do gateway 504?

Toda vez que você visita um site em seu navegador, o navegador envia uma solicitação ao servidor da Web onde o site está hospedado. O servidor processa a solicitação e responde com os recursos solicitados.

Ilustração de como as solicitações e respostas HTTP funcionam
Como as solicitações e respostas HTTP funcionam.

A resposta do servidor inclui um dos muitos códigos de status HTTP para indicar o status da resposta ao navegador. Mas nem todos esses códigos de status HTTP são erros. Por exemplo, um código de status 200 OK significa que o servidor processou a solicitação com sucesso e “Tudo está OK”.

A classe 5xx de códigos de status HTTP indica que algo está errado com o servidor, o servidor está ciente disso e não pode realizar a solicitação do cliente. Como resultado, eles também são chamados de códigos de status Server Error 5xx .

Oficialmente, cinco códigos de status são especificados na classe 5xx (500, 501, 502, 503, 504). Você também pode encontrar muitos códigos não oficiais (506, 507, 509, 520, etc.).

O Internet Engineering Task Force (IETF) define o erro 504 Gateway Timeout como:

O código de status 504 (Gateway Timeout) indica que o servidor, enquanto atuava como gateway ou proxy, não recebeu uma resposta oportuna de um servidor upstream que precisava acessar para concluir a solicitação.

Para simplificar ainda mais, esse erro ocorre quando dois servidores estão envolvidos no processamento de uma solicitação. O primeiro servidor (normalmente o servidor principal) expira, aguardando uma resposta do segundo servidor (servidor upstream).

O erro 504 Gateway Timeout se manifesta de várias formas. Aqui estão algumas maneiras que geralmente aparecem:

O HTTP ERROR 504 no navegador Chrome
O 'HTTP ERROR 504' no navegador Chrome.

O erro 504 Gateway Timeout é semelhante ao erro 502 Bad Gateway, que indica que o primeiro servidor recebeu uma resposta inválida do segundo servidor (servidor upstream).

Código de status 504 GATEWAY TIMEOUT no Chrome DevTools
O código de status '504 GATEWAY TIMEOUT' no Chrome DevTools.

Variações do erro de tempo limite do gateway 504

O navegador exibe qualquer erro 504 Gateway Timeout dentro dele, assim como qualquer outro erro. Como existem vários sistemas operacionais, servidores web, navegadores e agentes de usuário, ele pode aparecer de várias maneiras.

Abaixo estão algumas variações comuns de mensagens de erro 504 que você pode encontrar:

  • 504 Tempo limite do gateway
  • 504 Gateway Timeout NGINX
  • Tempo limite do gateway NGINX 504
  • Erro de tempo limite do gateway
  • Erro 504
  • Erro HTTP 504
  • Erro HTTP 504 — Tempo limite do gateway
  • HTTP 504
  • 504 Erro
  • Tempo limite do gateway (504)
  • Esta página não está funcionando — o domínio demorou muito para responder
  • 504 Gateway Time-out — O servidor não respondeu a tempo
  • A solicitação de página foi cancelada porque demorou muito para ser concluída
  • Visitantes do site: ocorreu um problema ao atender sua solicitação. Tente novamente em alguns minutos.
  • Proprietários do site: houve um tempo limite do gateway. Você deve visitar seu log de erros para obter mais informações.
  • Uma tela branca em branco

Todas as respostas de erro acima, embora redigidas de forma diferente, apontam para o mesmo erro de servidor 504 Gateway Timeout.

Servidores da Web e sites podem personalizar como eles mostram o erro 504 Gateway Timeout aos usuários. Alguns deles podem ser legais! É uma excelente tática para reprimir a decepção de seus visitantes.

Página de erro HTTP 504 personalizada do GitHub
Página de erro HTTP 504 personalizada do GitHub.

Impacto SEO do erro de tempo limite do gateway 504

Todos os erros 5xx impedem o carregamento de uma página da Web, prejudicando a experiência do usuário. Portanto, mecanismos de pesquisa como o Google levam esses erros a sério. Se o erro persistir por um longo período, pode até levar à desindexação da página da web dos resultados do mecanismo de pesquisa.

Por exemplo, quando os spiders do Google encontrarem um erro 503 Service Unavailable, eles entenderão que é um problema temporário, pois é usado principalmente para ativar o modo de manutenção do site. Assim, eles tentarão rastrear a página novamente mais tarde.

Um erro 504 Gateway Timeout não é necessariamente temporário, pois pode ser devido a vários motivos. Se o seu site estiver fora do ar por apenas alguns minutos e se os spiders estiverem tentando rastreá-lo várias vezes a cada minuto, eles tentarão servir a página a partir do cache. Eles nem perceberiam.

Mas se o seu site estiver inativo por mais de 6 horas ou mais, o Google considerará o erro 504 como um problema sério em todo o site que você precisa corrigir o mais rápido possível. Isso pode impactar negativamente o seu SEO.

Visualizando os erros de rastreamento no Google Search Console
Visualizando os erros de rastreamento no Google Search Console

O Google Search Console é uma das melhores ferramentas de SEO para monitorar os erros HTTP 5xx do seu site.

Causas do erro de tempo limite do gateway 504

Como o erro 504 é devido a um tempo limite entre os servidores, o problema provavelmente não está no dispositivo do cliente ou na conexão com a Internet. Isso também inclui seu dispositivo e conexão.

Um erro 504 Gateway Timeout indica que o servidor da Web está esperando muito tempo para responder de outro servidor e “tempo limite”. Pode haver muitas razões para esse tempo limite: o outro servidor não está funcionando corretamente, sobrecarregado ou inativo.

O outro servidor nem sempre precisa ser externo (por exemplo, CDN, gateway de API). Também pode ser uma entidade semelhante a um servidor dentro do servidor web principal (por exemplo, servidor proxy reverso, servidor de banco de dados).

Como corrigir o erro de tempo limite do gateway 504

Sem saber detalhes exatos sobre o site WordPress, como configuração do servidor, plano de hospedagem, plugins de terceiros e o tráfego que ele atrai, você pode achar frustrante e esmagador corrigir um erro 504 Gateway Timeout.

Como muitas variáveis ​​estão envolvidas, recomendo que você comece corrigindo problemas do lado do cliente, que são bastante raros, e depois avance para corrigir problemas do lado do servidor. Eles geralmente são os culpados pelos erros 504.

Tente recarregar a página da Web

Uma das primeiras coisas que você pode tentar ao encontrar um erro 504 Gateway Timeout é esperar alguns minutos e tentar recarregar a página.

Você pode pressionar o atalho de teclado F5 para atualizar/recarregar a página da Web na maioria dos navegadores. Para remover o cache do navegador da página antes de recarregar, você pode pressionar a combinação de atalho CTRL+F5 .

Atualizando uma página da Web no navegador Chrome
Atualizando uma página da Web no navegador Chrome

Enquanto você está nisso, você também pode tentar carregar o site em um navegador diferente para descartar isso como um problema. Como a maioria dos erros 504 são causados ​​por servidores temporariamente sobrecarregados, o uso dessa solução deve fazer com que seu site volte imediatamente.

Se esperar e recarregar o site não corrigir o erro 504, você pode verificar se um site está inativo para todos ou apenas para você. Duas ferramentas on-line úteis para testar um site quanto ao tempo de inatividade são Down for Everyone ou Just Me e Is It Down Right Now?

Testando Kinsta.com no Down for Everyone ou Just Me
Testando Kinsta.com no Down for Everyone ou Just Me

Reinicie seus dispositivos de rede

Às vezes, problemas com seus dispositivos de rede, como modem ou roteador, podem levar a um erro 504 Gateway Timeout. A reinicialização desses dispositivos pode ajudá-lo a corrigir o problema.

Embora você possa desligar todos esses dispositivos de rede em qualquer ordem, a ordem em que você os liga novamente é importante. Normalmente, ligue esses dispositivos “de fora para dentro”, seguindo a ordem de conexão do provedor de serviços de Internet para o seu dispositivo cliente principal.

Verifique suas configurações de proxy

Um servidor proxy fica entre o seu dispositivo e a Internet. É usado principalmente para melhorar a privacidade online, ocultando informações privadas (por exemplo, localização do dispositivo) de sites e servidores da web (por exemplo, usando uma VPN).

Embora seja raro que os servidores proxy causem um erro 504, as configurações incorretas do servidor proxy às vezes podem ser o motivo. Você pode desativar o servidor proxy e tentar recarregar a página da Web para ver se o erro será corrigido.

Alterando as configurações de 'Proxy' no Windows 10
Alterando as configurações de 'Proxy' no Windows 10

A maioria dos clientes não usa um serviço de proxy, portanto, você pode pular esta etapa se tiver certeza de que não usa nenhum servidor proxy. No entanto, você pode tê-lo configurado sem nem saber disso. Sugiro que você verifique as configurações de proxy do seu dispositivo e do navegador para descartar essa causa.

Problemas de DNS

Um erro 504 Gateway Timeout também pode ser causado por problemas de DNS no lado do servidor ou no lado do cliente (ou ambos).

O motivo mais provável para um problema de DNS do lado do servidor é o FQDN (nome de domínio totalmente qualificado) não resolver o endereço IP correto ou o servidor DNS não responder . Normalmente, isso ocorre quando você acaba de migrar seu site WordPress para um novo servidor ou host. Portanto, é importante aguardar a propagação completa dos registros DNS do domínio, o que pode levar até 24 horas.

Você pode usar ferramentas gratuitas como o verificador de DNS whatsmydns.net ou DNSMap para ver se o seu DNS se propagou ao redor do mundo.

Verificando a propagação de DNS do seu domínio no whatsmydns.net
Verificando a propagação de DNS do seu domínio no whatsmydns.net

Para corrigir problemas de DNS do lado do cliente, você pode tentar liberar seu cache DNS local. É como limpar o cache do navegador, exceto que aqui você está liberando o cache DNS do sistema operacional.

Se você estiver usando o Windows, poderá liberar o cache DNS abrindo o prompt de comando e inserindo a seguinte diretiva:

 ipconfig /flushdns
Liberando o cache DNS com prompt de comando
Liberando o cache DNS com prompt de comando no Windows

Você deve ver um "Descarregado com sucesso o cache do resolvedor de DNS". mensagem se funcionou.

Para as versões mais recentes do macOS, você pode abrir o Terminal e executar o seguinte comando:

 sudo killall -HUP mDNSResponder

Você não verá nenhuma notificação no macOS quando o processo for concluído, mas poderá alterar isso anexando o comando à sua mensagem personalizada.

 sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

Se você estiver usando versões mais antigas do macOS, o comando que você precisa inserir varia de acordo com a versão do macOS que você está executando. Para obter mais detalhes, você pode consultar a seção macOS no tutorial de DNS detalhado da Kinsta.

Se você estiver usando o sistema operacional Linux, o processo é bastante semelhante ao macOS, pois até o Linux usa o Terminal como sua interface de linha de comando. Como existem muitas distribuições Linux, o comando exato que você precisa executar pode variar de uma distribuição para outra. Você pode conferir o guia da Kinsta para mais informações.

Por fim, você pode alterar temporariamente os servidores DNS do lado do cliente. Por padrão, seu ISP atribui os servidores DNS automaticamente a você. Mas você pode alterá-los para IPs DNS públicos temporariamente.

Alguns servidores DNS confiáveis ​​que você pode experimentar são Google Public DNS, Cloudflare 1.1.1.1, Quad9 DNS e Cisco OpenDNS.

Configurações de servidores DNS personalizados no Windows 10
Configurações de servidores DNS personalizados no Windows 10

Desative o CDN do seu site temporariamente

Às vezes, o problema também pode estar na sua rede de entrega de conteúdo (CDN). Se o servidor de origem de um site não estiver acessível, a maioria das CDNs tentará servir a página da Web completa de seu cache.

Mas a maioria das CDNs não habilita esse recurso por padrão, pois é complexo armazenar em cache ativos dinâmicos na maioria dos sites (por exemplo, o painel de administração do WordPress).

Configurando a regra de página 'Cache Everything' na Cloudflare
Configurando a regra de página 'Cache Everything' na Cloudflare

Uma maneira direta de solucionar isso é desabilitar seu CDN temporariamente. Por exemplo, se você estiver usando o plug-in gratuito CDN Enabler WordPress para vincular os ativos do site aos URLs da CDN, poderá desativar o plug-in e testar o recarregamento do site.

O mesmo vale para usar qualquer outro plugin que você possa usar para se conectar ao seu CDN (por exemplo, WP Rocket, Breeze, W3 Total Cache).

Se você não conseguir acessar o painel de administração do seu site, poderá desabilitar o plug-in via SFTP renomeando o nome da pasta do plug-in.

Desabilite todos os plugins via SFTP renomeando o nome da pasta de plugins
Desabilite todos os plugins via SFTP renomeando o nome da pasta de plugins

CDNs como Cloudflare ou Sucuri, que fornecem serviços de proxy completos, possuem firewalls extras entre seus servidores de borda e seu servidor de origem. Portanto, você pode encontrar erros HTTP 5xx com mais frequência ao usá-los. A maioria deles armazena em cache os erros 5xx retornados pelo servidor de origem, por isso é fácil solucioná-los.

O plano gratuito da Cloudflare é propenso a gerar um erro 5xx. Infelizmente, como é um serviço de proxy completo, não há uma maneira rápida de desativá-lo. Mas antes de culpar a Cloudflare por isso, saiba que a Cloudflare mostra duas variações do erro 504 Gateway Timeout.

504 Tempo limite do gateway na Cloudflare (Variação 1)

A Cloudflare mostrará uma tela de erro 504 Gateway Timeout personalizada quando o servidor de origem do seu site responder com uma resposta HTTP 504 padrão.

Tela de erro 504 personalizada da Cloudflare
Tela de erro 504 personalizada da Cloudflare

Aqui, o problema está no seu servidor web e não na Cloudflare. Você pode tentar corrigi-lo com as outras soluções mencionadas abaixo ou entrar em contato com o suporte do seu provedor de hospedagem para obter ajuda técnica.

504 Tempo limite do gateway na Cloudflare (Variação 2)

Se a Cloudflare causar o erro 504 Gateway Timeout, a tela de erro mencionará “cloudflare”, que é atualmente o nome de servidor padrão para todos os ativos da Cloudflare. Normalmente, a tela de erro aparecerá como abaixo:

504 Erro de tempo limite do gateway causado pela Cloudflare
Tela de erro para 504 Gateway Timeout causado pela Cloudflare

Como a própria Cloudflare não responde, você não verá nenhuma tela de erro da marca Cloudflare aqui.

Muito provavelmente, a Cloudflare já está ciente do problema e já está trabalhando em uma correção. Você pode confirmar isso verificando a página de status do sistema Cloudflare. Como alternativa, você pode entrar em contato com o suporte da Cloudflare para obter uma resolução mais rápida.

Verifique o status do sistema Cloudflare em cloudflarestatus.com
Verifique o status do sistema Cloudflare em cloudflarestatus.com

504 Gateway Timeout na Cloudflare devido a grandes uploads

O tamanho de seus uploads para seu site também pode ser um motivo para os tempos limite do servidor. A Cloudflare limita o tamanho do arquivo de upload (por solicitação HTTP POST) a apenas 100 MB nos planos Gratuito e Pro.

Limites de "tamanho máximo de upload" da Cloudflare para vários planos
Limites de 'tamanho máximo de upload' da Cloudflare para vários planos

O problema pode estar no seu host ou com a Cloudflare. Você pode descobrir a causa exata ignorando a Cloudflare com seu arquivo de hosts DNS e tentando fazer o upload novamente.

Se você estiver usando o Cloudflare com o WordPress, recomendo usar o plug-in gratuito e excluir URLs críticos do cache (como o painel de administração do WordPress). Você pode consultar o post detalhado da Kinsta sobre como definir as configurações do Cloudflare para WordPress.

Leitura sugerida: Como configurar o Cloudflare APO para WordPress.

Problemas no servidor (verifique com seu host)

Os problemas do servidor são um dos motivos mais comuns para enfrentar um erro 504 Gateway Timeout. Como a maioria dos sites WordPress está hospedada em servidores Web Nginx ou Apache, o Nginx ou o Apache está aguardando uma resposta de algo e expirando.

Muitos clientes vêm para Kinsta exatamente para este problema que estão enfrentando em outros hosts WordPress. A conversa é mais ou menos assim:

Estamos recebendo cerca de 100 mil visitantes por mês com mais de 200 mil visualizações. Atualmente, estamos hospedando com ____ e temos erros 504 constantemente devido à sobrecarga do servidor. Não gosto de como ____ lidou com o problema, e também fomos avisados ​​de que teremos que mudar para seus planos dedicados em breve, o que acredito não ser necessário.

Sites de alto tráfego e comércio eletrônico são mais propensos a receber erros 504 devido à sobrecarga do servidor, pois geram muitas solicitações que não podem ser armazenadas em cache. No entanto, esse problema pode ocorrer em qualquer site, incluindo blogs simples. Muitos hosts solicitarão que você atualize para um plano de alto nível para corrigir o problema, o que na maioria dos casos é desnecessário.

Kinsta usa hosts gerenciados LXD e contêineres de software LXC orquestrados para cada site. Assim, cada site WordPress é alojado em seu próprio contêiner isolado com acesso a todos os softwares necessários para executá-lo (Linux, Nginx, PHP, MySQL). Os recursos são 100% privados e não são compartilhados com nenhum outro site, nem mesmo seus sites.

A maioria dos hosts WordPress que fornecem planos de hospedagem compartilhada não tem esse recurso. Portanto, um site de alto tráfego hospedado no mesmo servidor que o seu pode fazer com que seu site gere um erro 504 também.

Além de isolar cada site em seu contêiner, Kinsta também projetou sua infraestrutura para lidar facilmente com milhares de conexões simultâneas. Kinsta até hospeda os bancos de dados MySQL em localhost, não em um servidor remoto. Isso significa que não há latência entre as máquinas, resultando em consultas mais rápidas e menos chances de ocorrência de timeouts.

Muitos clientes que migram para Kinsta veem grandes reduções nos tempos de carregamento gerais.

Um aumento de 212,5% no desempenho após a mudança para C2.
Um aumento de 212,5% no desempenho após a mudança para C2.

Um servidor sobrecarregado não é a única causa de tempo limite do servidor. Pode haver muitas outras razões para o erro 504:

Infraestrutura de servidor lenta

O servidor que você usa para hospedar seu site WordPress pode não ter recursos suficientes para lidar com a carga. É como jogar um videogame moderno com muitos gráficos em um PC de uma década.

O servidor simplesmente desliga tentando servir o site. A única solução para esse problema é atualizar para um servidor com melhor infraestrutura. Por esse motivo, mesmo o plano de hospedagem WordPress mais básico da Kinsta lidará com um site estático com tráfego médio.

Precisa de mais PHP Workers

PHP workers são usados ​​para executar o código do seu site WordPress. Um site de comércio eletrônico que recebe 50.000 visitantes por mês precisa de muito mais recursos do que um simples blog com a mesma quantidade de tráfego. Se todos os PHP workers do servidor estiverem ocupados, eles criarão uma fila.

Quando a fila fica muito grande, o servidor ignora solicitações antigas, o que pode fazer com que o servidor gere um erro de gateway 504. Você pode perguntar ao seu host sobre como aumentar seu número de PHP workers. Isso permitirá que seu site execute várias solicitações simultaneamente.

Problemas de firewall

O firewall do seu servidor pode ter alguns erros ou uma configuração inadequada. Talvez algumas de suas regras impeçam o servidor de estabelecer uma conexão corretamente. Para saber se o seu firewall é o culpado, você pode verificar os logs de erros do seu servidor.

Problemas de conectividade de rede

Problemas de conectividade entre o servidor proxy e o servidor web podem causar atrasos na resposta a solicitações HTTP. Se você usar um balanceador de carga, também poderá haver problemas de conectividade de rede com ele.

Tempo limite HTTP

Os tempos limite de HTTP podem ocorrer quando uma conexão entre o servidor da Web e o cliente é mantida aberta por muito tempo. Com sites WordPress, isso geralmente acontece ao executar importações do WordPress. Uma maneira de resolver esse problema é mudar para uma conexão de internet mais rápida.

Você também pode usar uma ferramenta com suporte para WP-CLI para executar os scripts diretamente no servidor, ignorando totalmente a conexão HTTP. Por exemplo, você pode usar o comando wp import WP-CLI para executar o plugin WordPress Importer diretamente através da interface de linha de comando.

Importante: Os erros 504 Gateway Timeout são semelhantes aos erros 503 Service Unavailable ou erros 502 Bad Gateway. Mas são todos diferentes. Se você estiver enfrentando um erro 504 na Kinsta, abra um tíquete de suporte para corrigir seu problema imediatamente.

Para monitorar o tempo de inatividade do seu site por conta própria, você pode usar uma ferramenta como updown.io. Ele verificará o status do seu site (ou qualquer URL) periodicamente enviando uma solicitação HTTP para ele. Você pode definir a frequência de verificação de 15 segundos a 1 hora. Se o seu site não estiver respondendo corretamente, ele o notificará por e-mail ou SMS.

Monitore seu site com updown.io
Monitore seu site facilmente com updown.io

Você receberá uma quantidade generosa de créditos gratuitos com cada conta do updown.io, mas se estiver procurando por alternativas mais baratas, confira o WebGazer ou o UptimeRobot. Ambas as ferramentas ajudarão você a monitorar o tempo de atividade do seu site a cada 5 minutos gratuitamente. Isso é decente o suficiente para a maioria dos proprietários de sites.

Painel da ferramenta de monitoramento de sites WebGazer
Painel da ferramenta de monitoramento de sites WebGazer

Monitorar seu site lhe dará uma ideia de quantas vezes ele está fora do ar. Isso é especialmente útil se você estiver usando um provedor de hospedagem compartilhada. A maioria dos hosts WordPress gerenciados cuida disso automaticamente para você. Por isso, é sempre recomendável ir com eles.

Para uma explicação detalhada, confira o post de Kinsta sobre a importância da hospedagem gerenciada do WordPress.

Ataques de spam, bots ou DDoS

Atacantes mal-intencionados podem levar seu servidor da Web a um rastreamento enviando muitas solicitações e/ou que consomem muitos recursos. Se o seu site estiver recebendo spam de bots ou passando por um ataque DDoS, isso pode sobrecarregar seu servidor e resultar em erros 504 Gateway Timeout para muitos usuários genuínos.

Você pode analisar o tráfego e as análises do seu servidor para ver se consegue identificar algum padrão irregular no tráfego do site. Se você estiver usando Kinsta para hospedar seu site, poderá visualizar esses dados facilmente acessando o painel do MyKinsta Analytics.

Painel do MyKinsta Analytics
Painel do MyKinsta Analytics

Comece sua investigação observando os principais IPs do cliente. Isso lhe dará uma ideia de quem gera o número máximo de solicitações e de onde. Se o seu servidor de repente usar uma largura de banda enorme ou atrair muito tráfego, este relatório será super útil.

Visualizando 'Principais IPs de clientes' no painel MyKinsta
Visualizando 'Principais IPs de clientes' no painel MyKinsta

Em seguida, você pode conferir o relatório de Análise de Cache . Aqui, você pode ver quantas solicitações estão ignorando ou perdendo o cache ou sendo atendidas pelo cache. Por motivos de desempenho e estabilidade, você deseja armazenar em cache o maior número possível de solicitações, mas nem sempre é possível fazer isso.

Por exemplo, os sites WooCommerce geram muitas solicitações que não podem ser armazenadas em cache para recursos como o carrinho de compras e o processo de checkout.

A tela 'Análise de Cache' no MyKinsta
A tela 'Análise de Cache' no MyKinsta

Por fim, você pode usar um plug-in de segurança do WordPress para reforçar a segurança do seu site, detectando e bloqueando tráfego/IPs preocupantes. Você pode pedir ao seu host para bloquear certos IPs também.

Lutando com problemas de tempo de inatividade e WordPress? Kinsta é a solução de hospedagem projetada com desempenho e segurança em mente! Confira nossos planos

Dependendo da duração e escala do ataque, isso pode ser um processo interminável de lista negra de IPs, pois muitos invasores alteram seus IPs e endereços de proxy após serem bloqueados.

Nota: Kinsta não permite que seus clientes instalem plugins de segurança do WordPress, pois eles podem ter um grande efeito no desempenho do site, especialmente em seus recursos de verificação. Como Kinsta usa balanceadores de carga com o Google Cloud Platform, o bloqueio de IPs nem sempre funcionaria conforme o esperado.

Você pode usar soluções de segurança dedicadas, como Cloudflare ou Sucuri, para proteger seus sites contra ataques DDoS e spambots. Para saber mais, você pode conferir os artigos da Kinsta sobre como instalar o Cloudflare em seu site WordPress e como a Sucuri ajudou a parar um ataque DDoS em suas trilhas.

Banco de dados WordPress corrompido

Às vezes, um erro 504 Gateway Timeout pode ser devido a um banco de dados corrompido, especialmente em sites WordPress. Normalmente, isso ocorre devido a tabelas ou arquivos de banco de dados corrompidos. Às vezes, também pode ser causado por um sério problema de segurança, como seu site ou banco de dados sendo invadido.

Reparar um banco de dados WordPress corrompido depende do problema. Plugins como o WP-DBManager facilitam o diagnóstico de problemas de banco de dados e os reparam. Eu recomendo que você leia o passo a passo detalhado da Kinsta sobre como reparar problemas de banco de dados do WordPress para começar.

Verifique os plugins e temas do seu site

Na maioria dos casos, plugins e temas de terceiros não causam erros 504. Mas há uma pequena chance de que eles possam causar tempos limite do servidor, geralmente enfileirando muitas solicitações não armazenadas em cache geradas pelo plugin/tema. Como isso envolve muitos PHP workers do seu servidor, pode causar erros 504.

Um ótimo exemplo desse problema é o WooCommerce, um plugin instalado para adicionar funcionalidade de comércio eletrônico aos sites do WordPress.

A maneira mais simples de solucionar esse problema é desativando todos os seus plugins. Lembre-se, você não perderá nenhum dado se apenas desativar um plugin.

Se você puder acessar seu painel de administração, vá para a tela Plugins , selecione Desativar no menu de ações em massa, marque todos os plug-ins e pressione o botão Aplicar . Isso desativará todos os seus plugins.

Desativar plugins no WordPress
Desativando todos os plugins do WordPress através do painel de administração do WP

Se você não conseguir acessar sua área de administração, poderá desabilitar os plugins via SFTP usando o método descrito anteriormente. Basta renomear o nome da pasta principal do plug-in para desativar todos os plug-ins em massa.

Depois de desativar todos os plugins, verifique se o site carrega corretamente. Se funcionar, você deve ativar cada plugin, testando o site após habilitar cada plugin.

Por fim, certifique-se de que seus plugins, temas e núcleo do WordPress estejam atualizados. Além disso, certifique-se de que seu servidor esteja executando a versão recomendada do PHP.

Se você achar que isso é muito esmagador, sempre pode entrar em contato com seu anfitrião para obter ajuda. Kinsta usa Kinsta APM e outras técnicas de solução de problemas para ajudar os clientes a restringir qual plugin, consulta ou script pode causar o erro.

Nos piores cenários, como uma consulta ineficiente ou código incorreto em um plugin/tema, você pode trazer um desenvolvedor do WordPress para corrigir o problema.

Verifique os logs de erros

A visualização de logs de erros pode ser muito útil ao solucionar problemas e depurar erros 504 em seu site WordPress. Isso pode ajudá-lo a reduzir rapidamente um problema em seu site, especialmente se for resultado de um plug-in exigente em seu site.

Se você é um cliente Kinsta, você pode ver facilmente os erros no visualizador de log em seu painel MyKinsta.

Verificando logs de erros dentro do painel MyKinsta
Verificando logs de erros dentro do painel MyKinsta

Se o seu host não tiver uma ferramenta de registro, você poderá ativar o modo de depuração do WordPress adicionando o seguinte código ao seu arquivo wp-config.php :

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

A constante WP_DEBUG habilita ou desabilita o modo de depuração do WordPress. Ele tem duas constantes complementares opcionais que podem estender seus recursos. A constante WP_DEBUG_LOG direciona todos os erros para serem salvos em um arquivo debug.log dentro do diretório /wp-content/ . Se você não vir esse arquivo, sempre poderá criar um.

A constante WP_DEBUG_DISPLAY controla se os logs de depuração aparecem na página HTML. Definir como false ocultará todos os erros, mas você poderá revisar os erros posteriormente, pois também definiu WP_DEBUG_LOG como true.

Importante: Se você tiver o WP_DEBUG habilitado no ambiente Kinsta, ele roteará todos os erros para o arquivo debug.log e não para o error.log no painel MyKinsta.

Você também pode baixar os arquivos brutos de log de erros do WordPress via SFTP. Normalmente, você pode encontrar logs de erros no diretório raiz do seu servidor em uma pasta chamada “logs”.

Acessando a pasta de logs de erros do WordPress via SFTP
Acessando a pasta de logs de erros do WordPress via SFTP

Os usuários Kinsta também podem ativar o modo de depuração do WordPress em seu painel MyKinsta. Para fazer isso, navegue até Sites > Ferramentas > Depuração do WordPress e clique no botão Ativar . Isso permitirá que você veja os erros e avisos do PHP sem ativar o modo de depuração via SSH ou SFTP.

Por fim, você pode verificar os arquivos de log do servidor. Dependendo de qual servidor você está usando para hospedar seu site WordPress, eles são comumente encontrados nestes locais:

  • Apache: /var/log/apache2/error.log/
  • Nginx: /var/log/nginx/error.log/

Você pode consultar a documentação relacionada ao log do Apache ou Nginx para obter mais informações.

Defina as configurações do Apache ou Nginx corretamente

Você pode editar os arquivos de configuração do servidor para aumentar os limites de recursos para diretivas específicas. Isso pode ajudá-lo a resolver o erro 504 Gateway Timeout.

Para servidores da Web Apache

Primeiro, adicione o seguinte código ao seu httpd.conf :

 TimeOut 600

Essa configuração define quanto tempo o servidor aguardará determinadas solicitações antes de marcá-lo como um problema de tempo limite de rede. Seu valor padrão é 60 segundos (versão Apache 2.4).

Você só pode adicionar esta diretiva em seu arquivo httpd.conf , não em seu arquivo .htaccess. Como a maioria dos provedores de hospedagem compartilhada não permite que você modifique o arquivo httpd.conf , você pode tentar aumentar o valor da diretiva LimitRequestBody em seu arquivo .htaccess .

Em seguida, adicione a seguinte linha ao seu arquivo php.ini :

 max_execution_time 300

O valor padrão da diretiva max_execution_time do PHP é 30 segundos. Aumentar isso permitirá que os scripts PHP do seu site sejam executados por mais tempo.

Para servidores Web Nginx

Se você estiver executando seus sites WordPress no Nginx + FastCGI Process Manager (PHP-FPM) ou usando o Nginx como um proxy reverso para o Apache, poderá ajustar as configurações do servidor para ajudar a evitar erros de 504 Gateway Timeout.

504 Erro de tempo limite do gateway no Nginx + FastCGI (PHP-FPM)

Primeiro, você deve editar o arquivo de configuração do pool PHP-FPM. Você pode encontrá-lo no local /etc/php7.4/fpm/pool.d/www.conf em seu servidor Nginx (o caminho exato pode variar de acordo com a versão do PHP). Como alternativa, você pode executar o seguinte comando em seu terminal para editar o arquivo de configuração do pool PHP-FPM:

 sudo nano /etc/php/7.2/fpm/pool.d/www.conf

Em seguida, defina a seguinte diretiva:

 request_terminate_timeout = 300

Depois disso, você deve editar seu arquivo php.ini . Você pode localizá-lo em /etc/php.ini . Abra o arquivo e adicione/altere o valor da diretiva max_execution_time para 300 segundos.

 max_execution_time = 300

Por fim, adicione o seguinte código ao bloco de localização do seu arquivo nginx.conf :

 location ~ .php$ { ... fastcgi_read_timeout 300; }

Recarregue o Nginx e o PHP-FPM para que as alterações tenham efeito.

 sudo service nginx reload sudo service php7.4-fpm reload

O código exato para recarregar o PHP-FPM varia de acordo com a versão do PHP instalada em seu servidor. Teste seu site para ver se ele corrigiu o problema.

504 Erro de tempo limite do gateway no proxy Nginx

Se você estiver usando o Nginx como um servidor proxy reverso para o Apache, poderá torná-lo mais tolerante com os tempos limite do servidor adicionando as seguintes diretivas ao seu arquivo nginx.conf :

 proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;

Não se esqueça de recarregar o Nginx depois de fazer suas alterações.

sudo service nginx reload

Outros erros HTTP como 504 Gateway Timeout

Conforme mencionado anteriormente no artigo, muitos outros erros HTTP 5xx são como o erro 504 Gateway Timeout. É porque todos eles acontecem no lado do servidor. Esses erros incluem:

  • 500 Erro interno do servidor
  • 501 Erro Não Implementado
  • 502 Erro de Gateway Inválido
  • 503 Erro de serviço indisponível

Outros erros HTTP causados ​​devido a problemas do lado do cliente, como o erro 404 Not Found, também são como o erro 504. Você pode consultar o guia detalhado da Kinsta e a lista de códigos de status HTTP para obter mais informações.

Quando você não sabe o que causou um erro 504 Gateway Timeout, como corrigi-lo a tempo de impedir que visitantes suados sejam desviados para sites concorrentes? Todos os detalhes estão neste post. Clique para Tweetar

Resumo

Seu site WordPress pode ser afetado pelo erro 504 Gateway Timeout por vários motivos. Neste artigo, você aprendeu como solucionar todos eles. Normalmente, esses erros são causados ​​devido a problemas do lado do servidor; nesse caso, você pode entrar em contato com seu host e resolvê-lo rapidamente.

No entanto, você também deve entender que esse erro pode ser devido a plugins, temas, serviços de terceiros, consultas ineficientes ao banco de dados ou uma combinação de dois ou mais desses. Se você está maximizando os recursos do seu servidor (por exemplo, PHP workers), é recomendado otimizar seu site para desempenho.

Se você ainda achar que seu site está expirando, pode ser que você precise atualizar seu plano de hospedagem ou o número de PHP workers. Eu recomendo que você considere essa opção somente depois de esgotar todas as outras soluções descritas neste artigo.

From simple static sites to complex ecommerce and membership sites, Kinsta's scalable hosting plans are designed to accommodate all types of websites. To learn more about our scalable cloud hosting, check out this article!

Did we miss anything? If you're still finding it difficult to fix the 504 Gateway Timeout error on your WordPress site, leave a comment below.