Une 504 Gateway Timeout Erreur est une HTTP response status code
indiquant qu’un serveur, qui est actuellement en agissant comme une passerelle ou proxy, n’a pas reçu une réponse en temps opportun à partir d’un autre serveur en amont. Comme avec la plupart des codes de réponse HTTP qui indiquent une erreur comme celle-ci, il peut être difficile de déterminer la cause exacte d’un 504 Gateway Timeout Error
., Il existe des dizaines de codes D’état HTTP possibles utilisés pour représenter la relation complexe entre le client, une application web, un serveur web et souvent plusieurs services web tiers, de sorte que la détermination de la cause d’un code d’état particulier peut être un défi, même dans les meilleures circonstances.
tout au long de cet article, nous examinerons le 504 Gateway Timeout Error
en regardant quelques conseils de dépannage et des correctifs potentiels pour les problèmes courants qui pourraient être à l’origine de ce problème, alors commençons!,
le problème est Côté Serveur
tous les codes D’état de réponse HTTP qui se trouvent dans la catégorie5xx
sont considérés commeserver error responses
. Similaire à la balise 502 Bad Gateway Error
nous avons regardé dans le passé, un 504 Gateway Timeout Error
indique que quelque chose a mal tourné avec un gateway
ou proxy
le serveur n’est plus en amont. Dans le langage réseau général, un upstream server
est un serveur qui fournit un service à (c’est-à-dire auquel on accède par) un autre serveur., Ainsi, un serveur qui est en amont est situé plus haut dans la hiérarchie globale du serveur qu’un serveur qui est downstream
. Une autre façon de penser à l’amont par rapport à l’aval est leur proximité relative avec votre appareil (c’est — à-dire le client
) – plus le nombre de sauts requis pour transférer des données de votre client vers le serveur en question est élevé, plus le upstream
se trouve.,
Depuis le 504 Gateway Timeout Error
indique que quelque chose a mal tourné dans le server
de votre demande, nous pouvons largement abstraction de la balise client
côté des choses. Si vous essayez de diagnostiquer un problème avec votre propre application, vous pouvez immédiatement ignorer la plupart des codes et composants côté client, tels que HTML, feuilles de style en cascade (CSS), JavaScript côté client, etc. Cela ne s’applique pas uniquement aux sites web., De nombreuses applications de téléphone intelligent qui ont une interface utilisateur à la recherche moderne sont en fait alimentés par une application web normale dans les coulisses; celui qui est simplement caché de l’utilisateur. Si vous utilisez une telle application et qu’un 504 Gateway Timeout Error
se produit, le problème ne sera pas lié à l’application installée sur votre téléphone ou votre appareil de test local. Au lieu de cela, ce sera quelque chose du côté serveur, qui effectue la plupart de la logique et du traitement dans les coulisses, en dehors de la compétence de l’interface locale présentée à l’utilisateur.,
cela dit, ce n’est pas nécessairement le cas que leweb server
spécifique sur lequel votre application s’exécute est la source du problème. Au lieu de cela, il est tout à fait possible que tous les aspects de votre application particulière (ainsi que ses serveurs) fonctionnent parfaitement, mais un 504 Gateway Timeout Error
pourrait toujours se produire si un serveur en amont rencontre des problèmes.
commencez par une sauvegarde complète de l’Application
Comme avec n’importe quoi, il vaut mieux avoir joué en toute sécurité au début que de bousiller quelque chose et de le regretter plus tard sur la route., En tant que tel, il est essentiel que vous effectuez une sauvegarde complète de votre application, de votre base de données, etc., avant de tenter des correctifs ou des modifications du système. Mieux encore, si vous en avez la capacité, créez une copie complète de l’application sur un serveur secondaire staging
qui n’est pas « actif” ou qui n’est pas autrement actif et disponible pour le public. Cela vous donnera un terrain d’essai propre avec lequel tester tous les correctifs potentiels pour résoudre le problème, sans menacer la sécurité ou le caractère sacré de votre application en direct.,
diagnostic d’une erreur de délai D’attente de passerelle 504
comme mentionné, un504 Gateway Timeout Error
signifie qu’un serveurupstream
à un serveur auquel vous (leclient
) vous connectez n’a pas reçu de réponse « opportune » d’un autre serveur. Dans ce scénario, cela indique que le serveur fournissant le 504 Gateway Timeout Error
agit comme un gateway
, alors prenons un moment pour discuter de ce qu’est une passerelle (ou un proxy)., Dans la plupart des communications HTTP, un client
connecter server
par l’intermédiaire d’un tiers gateway
ordinateur. La passerelle agit comme une passerelle par laquelle les messages du client
peuvent être envoyés en toute sécurité au server
, et vice-versa. Un gateway
agit comme un node
dans le réseau Web plus large, reliant et acheminant les communications entre plusieurs client
, server
, et d’autres types de nœuds dans le voisinage (virtuel).,
croyez-le ou non, la plupart des foyers avec accès à Internet ont même une passerelle active. Votre réseau domestique local, qui est probablement configuré via un routeur (ou un routeur+modem hybride), attribue généralement des adresses IP à tous les périphériques de votre réseau en utilisant l’adresse de base de 192.168.1.*
, où l’astérisque change en fonction du périphérique., Dans la plupart des cas, la communication d’une telle adresse réseau local à une autre adresse réseau local est autorisée, mais lorsque votre ordinateur tente de se connecter à une adresse IP en dehors de cette plage de base, gateway
de votre routeur l’interceptera et effectuera la communication entre votre ordinateur et le serveur distant
dans certaines situations, le serveur web exécutant votre application peut être la cause du problème., Cela est particulièrement vrai lorsque votre serveur exécute une configuration de serveur frontend + backend combinée(telle que Nginx et Apache), ou que le serveur web s’appuie sur des services tiers, qui sont généralement situés ailleurs sur des serveurs amont supplémentaires. N’importe lequel des serveurs amont que votre client (navigateur web) se connecte peut être en panne ou rencontrer des problèmes en ce moment, ce qui pourrait entraîner un retard de traitement et conduire à 504 Gateway Timeout Error
que vous voyez.
avant tout, Google est votre ami., N’ayez pas peur de rechercher des termes spécifiques liés à votre problème, tels que le nom du CMS ou du logiciel de serveur web de votre application, ainsi que 504 Gateway Timeout Error
. Il y a de fortes Chances que vous trouviez d’autres personnes qui ont connu ce problème et qui ont potentiellement reçu une solution.,
dépannage Côté Serveur
Voici quelques conseils supplémentaires pour vous aider à résoudre ce qui pourrait être à l’origine de l’apparition du 504 Gateway Timeout Error
côté serveur:
-
Recent DNS Changes
-le système de noms de domaine (DNS
) est un système de nommage décentralisé pour les appareils connectés via un réseau (même un réseau massif, tel qu’Internet lui-même). En bref, leDNS
associe des noms de domaine (par exemple,airbrake.io
) à des adresses IP spécifiques, et stocke cette association dans une série de serveurs de noms faisant autorité répartis dans le monde entier. Ainsi, lorsque vous demandez à votre ordinateur de se connecter àairbrake.io
, votre ordinateur vérifie en fait avec un serveur de noms à proximitéDNS
pour savoir quelle est l’adresse IP spécifique (ressource internet) à laquelle il doit se connecter. De votre point de vue, il va directement àairbrake.io
, mais dans les coulisses, le trafic est acheminé vers une adresse IP (52.203.232.56
, dans ce cas)., Par conséquent, votre application peut présenter un504 Gateway Timeout Error
si votre site a apporté des modifications récentes à son serveur DNS, résultant du changement de serveurs hôtes ou du déplacement du site vers une adresse IP différente. Ces modifications DNS, connues sous le nom deDNS propagation
, ne sont pas instantanées et peuvent parfois prendre quelques heures pour se propager dans tous les serveurs de noms faisant autorité., -
Server Connectivity Issues
– bien que cela puisse sembler simple, il est tout à fait possible qu’un504 Gateway Timeout Error
indique simplement qu’un serveur quelque part dans la chaîne est en panne ou inaccessible pour une raison quelconque. La plupart des applications modernes ne résident pas sur un seul serveur, mais peuvent, au contraire, être réparties sur plusieurs systèmes, ou même compter sur de nombreux services tiers pour fonctionner. Si l’un de ces serveurs est en panne pour maintenance ou autrement inaccessible, cela peut entraîner une erreur qui semble provenir de votre propre application., -
Improper Firewall Configuration
– un pare-feu est un dispositif de sécurité de base qui surveille le trafic réseau et agit comme un garde-porte, décidant quel trafic est sûr et lequel pourrait être malveillant. Dans la plupart des cas, tout le trafic potentiellement dangereux est arrêté (et peut être enregistré pour une utilisation par l’administrateur réseau). Dans certaines situations, il est tout à fait possible qu’un pare-feu configuré quelque part sur le réseau dans lequel votre application s’exécute empêche une certaine forme de trafic critique de passer., Cela est particulièrement vrai pour les applications qui s’appuient sur des réseaux de diffusion de contenu (CDNs
), qui agissent en tant qu’hôte tiers pour du contenu « lourd” comme des images ou des vidéos, hébergeant ce contenu au nom de votre application, afin que votre application puisse maintenir sa vitesse et son efficacité. Cependant, les services de pare-feu automatiques peuvent parfois effectuer des faux positifs, confondant le contenu parfaitement sûr et valide des CDN ou ailleurs comme malveillant, fermant ainsi ce flux de contenu en un instant, ce qui pourrait conduire à un504 Gateway Timeout Error
., -
Check the Logs
– presque toutes les applications web conserveront une forme de journaux côté serveur.Application logs
sont généralement l’historique de ce que l’application a fait, comme les pages demandées, les serveurs auxquels elle s’est connectée, les résultats de base de données qu’elle fournit, etc.Server logs
sont liés au matériel réel qui exécute l’application, et fourniront souvent des détails sur la santé et l’état de tous les services connectés, ou même simplement le serveur lui-même., Google « logs ” si vous utilisez un CMS, ou « logs ” et « logs ” si vous exécutez une application personnalisée, pour obtenir plus d’informations sur la recherche des journaux en question. -
Application Code or Script Bugs
– si tout le reste échoue, il se peut qu’un problème dans un code personnalisé de votre application soit à l’origine du problème. Essayez de diagnostiquer l’origine du problème en déboguant manuellement votre application et en analysant les journaux d’application et de serveur., Idéalement, faites une copie de l’application entière sur une machine de développement locale et effectuez un processus de débogage étape par étape, ce qui vous permettra de recréer le scénario exact dans lequel le504 Gateway Timeout Error
s’est produit et d’afficher le code de l’application au moment où quelque chose ne va pas.
quelle que soit la cause, l’apparition d’un504 Gateway Timeout Error
provenant de votre propre application web est une indication forte que vous pourriez avoir besoin d’un outil de gestion des erreurs pour vous aider à détecter automatiquement ces erreurs et d’autres à l’avenir., De tels mécanismes peuvent même vous alerter et votre équipe immédiatement lorsqu’une erreur se produit. Le logiciel de surveillance des erreurs d’Airbrake fournit une surveillance des erreurs en temps réel et des rapports d’exceptions automatiques pour tous vos projets de développement. Le tableau de bord Web de pointe d’Airbrake vous assure de recevoir des mises à jour 24h / 24 sur l’état de santé et les taux d’erreur de votre application. Peu importe ce sur quoi vous travaillez, Airbrake s’intègre facilement à tous les langages et frameworks les plus populaires., De plus, Airbrake facilite la personnalisation des paramètres d’exception, tout en vous donnant un contrôle complet du système de filtre d’erreur actif, de sorte que vous ne collectez que les erreurs qui comptent le plus.
Découvrez le logiciel de surveillance des erreurs D’Airbrake aujourd’hui et voyez par vous-même pourquoi tant de meilleures équipes d’ingénierie au monde utilisent Airbrake pour révolutionner leurs pratiques de gestion des exceptions!