Erro de tempo-limite do Gateway 504: o que é e como corrigi-lo

um erro de tempo-limite do Gateway 504 é um HTTP response status code indicando que um servidor, que está atuando atualmente como um gateway ou proxy, não recebeu uma resposta oportuna de outro servidor mais a montante. Como acontece com a maioria dos códigos de resposta HTTP que indicam um erro como este, pode ser difícil determinar a causa exata de um 504 Gateway Timeout Error., Há dezenas de possíveis códigos de status HTTP, usado para representar a complexa relação entre o cliente, um aplicativo da web, um servidor web, e muitas vezes, vários serviços web de terceiros, de modo a determinar a causa de um determinado código de status pode ser um desafio, mesmo sob as melhores circunstâncias.

ao Longo deste artigo vamos examinar o 504 Gateway Timeout Error olhando algumas dicas de solução de problemas e potenciais correcções para problemas comuns que podem estar causando este problema, então vamos começar!,

o problema é o lado do servidor

todos os códigos de Estado de resposta HTTP que estão no 5xx categoria são considerados server error responses. Semelhante a tag 502 Bad Gateway Error vimos no passado, uma 504 Gateway Timeout Error indica que algo deu errado com um gateway ou proxy servidor que está mais a montante. Em linguagem de rede geral, um upstream server é um servidor que fornece um serviço para (ou seja, é acessado por) outro servidor., Assim, um servidor que está a montante está localizado mais alto na hierarquia geral do servidor do que um servidor que é downstream. Outra maneira de pensar em upstream versus downstream é a sua relativa proximidade com o seu dispositivo (ou seja, o client) — quanto maior for o número de lúpulo necessário para transferir dados do seu cliente para o servidor em questão, mais o upstream esse servidor está localizado.,

Desde 504 Gateway Timeout Error indica que algo está errado dentro de server do seu aplicativo, nós podemos em grande parte desconsiderar o client lado das coisas. Se você está tentando diagnosticar um problema com sua própria aplicação, você pode imediatamente ignorar a maioria dos códigos e componentes do lado do cliente, tais como HTML, cascading style sheets (CSS), Javascript do lado do cliente, e assim por diante. Isto também não se aplica apenas a Web sites., Muitos aplicativos de Smart phone que têm uma interface de usuário de aparência moderna são realmente alimentados por uma aplicação web normal nos bastidores; um que é simplesmente escondido do Usuário. Se você estiver usando tal aplicação e um 504 Gateway Timeout Error ocorrer, o problema não será relacionado com o aplicativo instalado no seu telefone ou dispositivo de teste local. Em vez disso, será algo do lado do servidor, que está executando a maior parte da lógica e processamento nos bastidores, fora do âmbito da interface local apresentada ao usuário.,

dito isto, não é necessariamente o caso que o id específico

que a sua aplicação está em execução é a fonte do problema. Em vez disso, é inteiramente possível que todos os aspectos de sua aplicação específica (juntamente com seus servidores) estão funcionando perfeitamente, mas um504 Gateway Timeout Errorainda pode ser ocorrer se um servidor upstream está com problemas.

comece com um Backup de Aplicação completo

como com qualquer coisa, é melhor ter jogado em segurança no início do que estragar algo e vir a lamentá-lo mais tarde na estrada., Como tal, é fundamental que você execute um backup completo de sua aplicação, Banco de dados, e assim por diante, antes de tentar quaisquer correções ou alterações ao sistema. Ainda melhor, se você tem a capacidade, criar uma cópia completa da aplicação em um secundário staging servidor que não é “ao vivo”, ou que não está de outra forma ativo e disponível ao público. Isso lhe dará um campo de testes limpo com o qual testar todas as correções potenciais para resolver o problema, sem ameaçar a segurança ou santidade de sua aplicação ao vivo.,

a Diagnosticar 504 Gateway de tempo limite de Erro

Como mencionado, uma 504 Gateway Timeout Error significa que um servidor que esteja upstream para que você (o client) estiver se conectando a não receber uma “oportuna” resposta de outro servidor mais adiante, a montante. Neste cenário, isso indica que o servidor de fornecer o 504 Gateway Timeout Error está agindo como uma gateway, então vamos tomar um momento para discutir o que é um gateway (ou proxy) é., Na maioria das comunicações HTTP, uma client irá se conectar a uma server através de um terceiro gateway computador. O gateway age como, bem, um gateway, pelo qual as mensagens do client podem ser enviadas de forma segura para o , e vice-versa. gateway funciona como uma node dentro da maior rede web, conexão e roteamento de comunicações entre vários client server, e outros tipos de nó de dentro (virtual) vizinhança.,acredite ou não, a maioria das casas com acesso à Internet até tem um gateway ativo. Sua rede doméstica local, que é provavelmente configurada através de um roteador (ou roteador+modem híbrido), normalmente atribui endereços IP para todos os dispositivos em sua rede usando o endereço base de 192.168.1.*, onde o asterisco muda dependendo do dispositivo., Na maioria dos casos, a comunicação a partir de uma tal de endereço de rede local para outro endereço de rede local é permitido, mas quando o computador tenta se conectar a um endereço IP fora da base neste intervalo, o roteador gateway irá interceptar e realizar a comunicação entre o seu computador e o servidor remoto em seu nome.

em algumas situações, o servidor web executando sua aplicação pode ser a causa do problema., Isto é particularmente verdadeiro quando o seu servidor está a correr uma combinação de configuração frontend+backend server (como o Nginx e o Apache), ou o servidor web está a contar com serviços de terceiros, que normalmente estão localizados em outros lugares em servidores adicionais upstream. Qualquer um dos servidores upstream que o seu cliente (navegador web) está conectando pode estar em baixo ou experimentando problemas neste momento, o que pode causar um atraso no processamento e levar ao 504 Gateway Timeout Error que você está vendo.

acima de tudo, o Google é seu amigo., Não tenha medo de procurar por termos específicos relacionados com o seu problema, como o nome do CMS da sua aplicação ou software de servidor web, juntamente com 504 Gateway Timeout Error. É provável que encontre outras pessoas que tenham experimentado este problema e que potencialmente tenham recebido uma solução.,

Resolução de problemas no Lado do Servidor

Aqui estão algumas dicas para ajudar a solucionar problemas que podem estar causando o 504 Gateway Timeout Error para aparecer no servidor-lado das coisas:

  • Recent DNS Changes – O Sistema de Nome de Domínio (DNS) é um descentralizada do sistema de atribuição de nomes de dispositivos ligados através de uma rede (mesmo que seja uma grande rede, como a Internet em si). In short, the DNS associates domain names (e.g., airbrake.io) para endereços IP específicos, e armazena essa associação em uma série de servidores de nomes autorizados espalhados pelo mundo. Assim, quando pede ao seu computador para se ligar a airbrake.io, o seu computador verifica de facto com um DNS servidor de nome para descobrir a que endereço IP específico (recurso da internet) se deve ligar. Do seu ponto de vista vai diretamente para airbrake.io, mas nos bastidores o tráfego é encaminhado para um endereço IP (52.203.232.56, neste caso)., Consequentemente, a sua aplicação pode apresentar um 504 Gateway Timeout Error se o seu site tiver feito alterações recentes ao seu servidor de DNS, o que é o resultado de mudar os servidores de host ou mover o site para um endereço IP diferente. Tais mudanças DNS, conhecidas comoDNS propagation, não são instantâneas e podem às vezes levar algumas horas para se propagar por todos os servidores de nomes autorizados.,
  • – embora possa parecer simples, é inteiramente possível que um 504 Gateway Timeout Error simplesmente indica que um servidor algures na cadeia está em baixo ou inacessível por qualquer razão. A maioria das aplicações modernas não residem em um único servidor, mas podem, em vez disso, ser espalhadas por vários sistemas, ou mesmo confiar em muitos serviços de terceiros para funcionar. Se algum destes servidores estiver em baixo para manutenção ou de outra forma inacessível, isso pode resultar em um erro que parece ser de sua própria aplicação.,
  • Improper Firewall Configuration – uma firewall é um dispositivo básico de segurança que monitora o tráfego de rede e atua como um guardião, decidindo qual o tráfego é seguro e qual pode ser malicioso. Na maioria dos casos, todo o tráfego potencialmente prejudicial é parado (e pode ser logado para uso do administrador de rede). Em algumas situações, é inteiramente possível para um firewall configurado em algum lugar na rede em que sua aplicação está correndo para estar impedindo algum tipo de tráfego crítico de passar., Isto é particularmente verdadeiro para as aplicações que dependem de redes de distribuição de conteúdo (CDNs), que atuam como um anfitrião de terceiros para “pesado” de conteúdo, como imagens ou vídeos, hospedagem de conteúdo em nome de sua aplicação, portanto, sua aplicação pode manter a sua velocidade e eficiência. No entanto, os serviços automáticos de firewall podem às vezes executar falsos positivos, confundindo conteúdo perfeitamente seguro e válido a partir de CDNs ou em outros lugares como malicioso, assim desligando esse fluxo de conteúdo em um instante, o que poderia levar a um 504 Gateway Timeout Error.,
  • Check the Logs – quase todas as aplicações web irão manter alguma forma de registos do lado do servidor. são tipicamente a história do que a aplicação fez, tais como quais páginas foram solicitadas, quais servidores ela conectou, quais resultados de banco de dados que ela fornece, e assim por diante. Server logs estão relacionados com o hardware real que está executando a aplicação, e muitas vezes irá fornecer detalhes sobre a saúde e status de todos os Serviços Conectados, ou mesmo apenas o próprio servidor., Google “logs” se você está usando um CMS, ou ” logs “e” logs ” se você está executando uma aplicação personalizada, para obter mais informações sobre encontrar os logs em questão.
  • Application Code or Script Bugs – se tudo o resto falhar, pode ser que um problema em algum código personalizado dentro de sua aplicação está causando o problema. Tente diagnosticar de onde o problema pode estar vindo através de depuração manual de sua aplicação, juntamente com o processamento através de aplicativos e registros do servidor., Idealmente, faça uma cópia de toda a aplicação para uma máquina de Desenvolvimento local e execute um processo de depuração passo-a-passo, que lhe permitirá recriar o cenário exato no qual o 504 Gateway Timeout Error ocorreu e ver o código da aplicação no momento em que algo corre mal.

Não importa qual a causa, a aparência de uma 504 Gateway Timeout Error vindo de seu próprio aplicativo web é uma forte indicação de que você pode precisar de um erro de ferramenta de gestão para ajudar a detectar automaticamente estes e outros erros no futuro., Tais mecanismos podem até mesmo alertá-lo e sua equipe imediatamente quando ocorre um erro. O software de monitoramento de erros da Airbrake fornece monitoramento de erros em tempo real e relatórios automáticos de exceção para todos os seus projetos de desenvolvimento. O painel de instrumentos da Airbrake garante que você recebe atualizações de Estado 24 horas por dia sobre a saúde e as taxas de erro da sua aplicação. Não importa o que você está trabalhando, Airbrake facilmente se integra com todas as línguas e frameworks mais populares., Além disso, o Airbrake torna mais fácil personalizar os parâmetros de exceção, enquanto lhe dá o controle completo do sistema de filtro de erro ativo, então você só reúne os erros que mais importam.confira o software de monitoramento de erros da Airbrake hoje e veja por si mesmo porque tantas das melhores equipes de engenharia do mundo usam Airbrake para revolucionar suas práticas de manuseio de exceção!

Leave a Comment