Tutoriais

Tutoriais HostMídia

Como corrigir o Erro 504 gateway timeout

Introdução

Você resolveu acessar o seu site institucional ou blog e por alguma razão qualquer e eis que deparou-se com um erro 504 – gateway timeout. E agora?

Embora não seja dos erros mais comuns, ele pode acontecer. Mas afinal o que é um erro 504 e como resolver?

Todos os erros cujo código seja iniciado com 5 (500, 503 ou 504), são erros de servidor, o que significa dizer que aconteceu uma solicitação feita ao servidor e que por algum motivo ele não foi capaz de responder com o resultado que se esperava. Particularmente no caso do erro 504, significa que o tempo máximo estipulado para a resposta, foi excedido sem que o resultado esperado ocorresse.

Mais que isso, um segundo servidor envolvido na transação ou acesso, não teve a resposta no tempo máximo determinado. Em geral servidores que integram a Internet, são configurados para aguardar um tempo máximo até obter o retorno de uma requisição e neste caso, um proxy ou um servidor de CDN ou com outro objetivo, pode ser o responsável pelo erro e não necessariamente o servidor em que seu site está hospedado.

Vamos supor que você use um script, um serviço ou outro recurso (ex: uma fonte) de um servidor externo ao seu site para que uma determinada página seja exibida. Se este servidor estiver com lentidão ou indisponível, a página não será “montada” para ser entregue ao seu navegador e consequentemente o erro ocorrerá.

Sendo assim, há algumas situações em que você pode adotar ações no sentido de identificar a causa e corrigir o erro. Porém, há outras cuja solução depende de terceiros.

Erros 504 podem ser exibidos de diferentes formas, dependendo do serviço executado no servidor web que atende o seu site e que pode ser o mais popular, o Apache, mas também pode ser Nginx ou um outro.

Exemplos de como erros 504 podem ser apresentados:

  • 504 Gateway Timeout;

  • Gateway Timeout (504);

  • HTTP Error 504 — Gateway Timeout;

  • 504 Gateway Timeout NGINX;

  • HTTP 504;

  • 504 Error;

  • This page isn’t working – Domain took too long to respond;

  • 504 Gateway Time-out – The server didn’t respond in time.

Pré-requisitos para corrigir um erro 504

É importante destacar que os requisitos a seguir dependerão dos procedimentos que você adotará para tentar identificar e corrigir o problema e caso alguma das soluções propostas sirva, poderá ser desnecessário cumprir todos ou os restantes.

  • Acesso à Internet, sendo que todas as alternativas exigem dispor de conectividade;

  • Pelo menos um segundo navegador, além daquele que você normalmente utiliza;

  • Dados de acesso à área administrativa do seu site, caso utilize um CMS como o WordPress, por exemplo;

  • Acesso SSH;

  • Acesso administrativo ao Windows;

Passos para correção de erro 504

O que vamos ver a seguir não constitui exatamente uma sequência de passos, visto que são ações que não dependem uma das outras para serem realizadas. São procedimentos isolados e assim, a ordem em que você executará cada um, não importa. Além do mais, se uma alternativa qualquer resolver o problema, é desnecessário realizar os demais procedimentos:

  • O primeiro procedimento, é o mais simples e consiste em esperar um ou dois minutos e tentar novamente o acesso, usando a tecla F5, para recarregar o site, uma vez que o erro pode ter sido uma indisponibilidade temporária de comunicação ou do servidor;

  • Tente o acesso usando um segundo navegador diferente do que você utiliza por padrão. Pode haver recursos que um navegador exiba de modo diferente dos outros e que podem levar a um erro como esse;

  • Erros de DNS – embora menos comuns – também podem ser a razão, quando eventualmente dados de DNS em cache estão desatualizados ou corrompidos. Para resolver a questão, você pode realizar dois diferentes procedimentos, sendo que cada um tem um objetivo diferente:

  • Verifique se trata-se de um erro local ou do seu provedor de acesso à Internet, utilizando ferramentas para verificar se seu site está online. Vamos apresentar três diferentes alternativas, mas há outras semelhantes:

    • O serviço Uptrends faz a verificação tanto da acessibilidade de um site que seja informado, a partir de mais de 40 cidades no mundo, como também informa o tempo necessário para o carregamento da página a partir de cada localidade;

    • O IsUp – que é o nome e URL curtos para downforeveryoneorjustme ou “Caiu para todos ou só para mim?” – é um serviço bastante simples e em que basta informar o endereço e após poucos segundos ele informa se “It's just you” ou “é apenas você” ou se realmente seu site está offline;

    • O terceiro, é o ForadoAr e que assim como o anterior, é minimalista, simples, mas cumpre o que promete e informará se o site está ou não no ar a partir de um acesso feito pelo servidor do serviço. Você também pode digitar diretamente o endereço do site, logo após o endereço do serviço – https://foradoar.org/seudominiocompleto;

  • Uma verificação simples e também eficiente, é verificar a conectividade com o servidor, usando para tanto o PING. Abra a ferramenta executar, pressionando a tecla com o logo do Windows + tecla. Na janela aberta, digite “cmd” no campo disponível e aperte “enter”. Na janela aberta, digite PING, dê espaço, digite seu domínio (sem WWW) dê “enter. Se for exibido “Esgotado tempo limite do pedido”, seu site deverá estar offline;

  • Caso utilize um proxy, desativá-lo temporariamente. Para tanto, clique com o botão direito do mouse com o ícone da sua conexão na barra de tarefas do Windows e clique em “Abrir configurações de rede e internet”. A seguir, clique em “Central de Rede e Compartilhamento”, “Opções da Internet”, selecione a guia / aba “Conexões”, clique no botão “Configurações da LAN” e na janela aberta, desmarque o checkbox correspondente a “Usar um servidor proxy para a rede local”. Clique em “OK” e tente novamente o acesso;

  • Se você está em uma rede corporativa e que faz uso de um proxy ou VPN, deve contatar o administrador da rede para verificar se é possível realizar o acesso sem utilizar o proxy ou VPN;

  • Alguns plugins de CMSs como WordPress, podem demandar muito processamento e/ou memória e isso pode acarretar lentidão e mesmo indisponibilidade do site, especialmente em momentos de muitos visitantes. Acesse a área administrativa do seu site e desative os últimos plugins instalados ou atualizados;

  • Se você utiliza recursos de terceiros, como por exemplo, o carregamento de uma fonte externa, desabilite temporariamente o recurso e tente novamente o acesso;

  • Acesse o arquivo .htaccess do seu site e procure pela diretiva “max_execution_time”. O tempo padrão deve ser 30 (30 segundos) e que normalmente é o limite para a maior parte dos planos de hospedagem compartilhada. Significa o tempo máximo que um script PHP deve ser executado, antes que seja considerado como timeout (tempo expirado).

Se mesmo realizando todos os procedimentos acima, o erro 504 continua ocorrendo, é bastante provável que exista um problema que esteja relacionado ao servidor no qual o site está hospedado ou em um servidor de terceiro. Neste caso, entre em contato com o suporte técnico, que terá condições de avaliar a origem do erro e indicar a solução necessária.

Conclusão

Erros 504 é um tipo de erro de servidor, relacionado a expiração do tempo de resposta para um segundo servidor. Há um conjunto de verificações simples e que qualquer um pode fazer, segundo as quais é possível tentar identificar a causa do erro e a consequente solução desse erro.