Lorsque vous chargez une page Web avec votre na­vi­ga­teur, le serveur Web est gé­né­ra­le­ment le dernier maillon dans la chaine de systèmes occupée à traiter la requête HTTP envoyée. Les pas­se­relles réseau et les serveurs proxy régulent la trans­mis­sion de la réponse à la requête pour soulager le serveur Web et pour assurer un transfert rapide des données. Le serveur qui est contacté a toujours plusieurs stations de com­mu­ni­ca­tion précédées et cela pour des raisons pratiques. Toutefois, si l’un des systèmes an­té­rieurs fonc­tionne mal, cela peut entrainer l’échec de la requête. Et au lieu d’avoir la page souhaitée, votre na­vi­ga­teur affichera alors des messages d’erreur comme « HTTP error 504 » ou « Gateway Timeout ».

Nous allons voir en détail ce qui se cache derrière ce type de message du serveur et nous allons apporter des solutions pour résoudre l’erreur 504 Gateway Timeout (aussi bien pour les uti­li­sa­teurs, in­ter­nautes que pour les opé­ra­teurs de site Web).

HTTP 504 : qu’est-ce que ce code de statut Hypertext Transfer Protocol ?

L’HyperText Transfer Protocol est l’un des pro­to­coles les plus im­por­tants pour trans­fé­rer du contenu Web. Au niveau des ap­pli­ca­tions, il permet la com­mu­ni­ca­tion entre le client : un na­vi­ga­teur Web et le serveur Web respectif qui héberge le contenu désiré. Pour cela, l’HTTP com­mu­nique l’hy­per­texte de la page Web, que le logiciel client peut alors trans­for­mer en texte, images etc. L’échange fonc­tionne via des messages, le client effectue tout d’abord une requête HTTP (HTTP Request). Par la suite le serveur envoie une réponse contenant un code de statut qui par exemple informe sur le succès du trai­te­ment (HTTP 200) ou in­ver­se­ment indique un échec comme dans le cas de l’erreur 504.

La réponse HTTP 504 indique au client que la raison de l‘échec est un délai d’attente expiré lors du trai­te­ment de la requête. C’est pourquoi le code de message porte aussi l’étiquette «Gateway timeout ». L’ex­pé­di­teur du message est le serveur dans la chaîne de com­mu­ni­ca­tion qui n’a pas pu remplir sa fonction en tant que pas­se­relle ou proxy, car il n’a pas reçu de réponse du serveur (ou du service) suivant dans un délai de temps spécifié. Fi­na­le­ment le message d’erreur est présenté dans le na­vi­ga­teur Web du visiteur, l’opérateur du site Web peut lui dé­ter­mi­ner la pré­sen­ta­tion du message. Par exemple, les messages d’erreur 504 fré­quem­ment utilisés com­por­tent les éléments suivants :

  • HTTP 504
  • HTTP Error 504: Gateway Timeout
  • Gateway Timeout (504)
  • Gateway Timeout Error
  • 504 Gateway Timeout
  • 504 Erreur
  • Error 504 Gateway Timeout

Pourquoi une erreur 504-Gateway-Timeouts apparait ?

Les messages HTTP 504 ap­pa­rais­sent lorsqu’un serveur in­ter­mé­diaire ou une interface réseau ne peut pas répondre à la demande/requête du na­vi­ga­teur ou du client dans un laps de temps défini. Comme déjà mentionné plus haut, cela résulte du fait que les systèmes concernés ne reçoivent pas de réponse du prochain maillon de la chaine de com­mu­ni­ca­tion. Il peut exister plusieurs causes et raisons :

  • Le serveur proxy ou le routeur sur le réseau local qu’utilise l’uti­li­sa­teur est surchargé et ne fonc­tionne plus. Dans ce cas, l’erreur 504 est rarement limitée à un seule page Web, mais se produit également lors du char­ge­ment d’autres sites Web.
  • Le site Web appelé revient à un serveur proxy pour l’op­ti­mi­sa­tion des per­for­mances. Cependant ce serveur est saturé ou alors dé­fec­tueux et ne peut être atteint à partir du nœud Internet en amont, ce qui entraine un « Gateway Timeout » (temps d’attente d’une réponse d’un serveur à un serveur in­ter­mé­diaire écoulé).
  • Parfois, les pa­ra­mètres in­cor­rects du proxy tant du côté du client que du serveur peuvent être res­pon­sables de l’ap­pa­ri­tion d’un message HTTP 504.
  • Le problème concerne un ou plusieurs serveurs d’un four­nis­seur de services Internet ou d’une en­tre­prise. Cela signifie que l’inac­ces­si­bi­lité n’a rien à voir avec les pa­ra­mètres de l’uti­li­sa­teur du na­vi­ga­teur ni de ceux de l’opérateur du site Web concerné.

Ré­so­lu­tion d’une erreur 504 Gateway timeout

Il est toujours con­tra­riant pour tous les uti­li­sa­teurs d’un na­vi­ga­teur de voir que la page Web désirée ne se charge pas et qu’à la place une page d’erreur apparait. Surtout si le service ou site Web est vraiment né­ces­saire et utile, dans ce cas la frus­tra­tion peut ra­pi­de­ment se trans­for­mer en exas­pé­ra­tion. En par­ti­cu­lier si vous tra­vail­lez avec des ap­pli­ca­tions de Cloud et n’avez donc aucune version hors connexion dis­po­nible, ainsi une solution rapide du problème s’impose. Il en va de même si vous êtes res­pon­sable d’un projet Web qui devient inac­ces­sible pour les uti­li­sa­teurs en raison des délais d’attente de la pas­se­relle (Gateway timeout). Dans ce cas, une réaction rapide est aussi im­por­tante afin de limiter la perte de trafic sur le site ce qui risque d’impacter né­ga­ti­ve­ment le chiffre d’affaires (par exemple pour une boutique en ligne).

504 Gateway Timeout : résoudre le problème en tant qu’uti­li­sa­teur du na­vi­ga­teur

Si vous ren­con­trez une erreur HTTP 504 pendant une na­vi­ga­tion sur le Web, vous pouvez être certains que ce scénario n’est pas prévu ou anticipé, car il serait alors annoncé avec un code de statut 503 par exemple pour informer de la main­te­nance d’un site Internet. Le «Gateway Timeout » est presque toujours dû à un problème de serveur de l‘opérateur du site Web ou bien du four­nis­seur. Toutefois, comme mentionné plus haut, il est également possible que votre routeur ou le serveur proxy utilisé délivre aussi ce message d’erreur. Par con­sé­quent, vous avez dif­fé­rentes options pour résoudre l’erreur HTTP 504 en tant qu’uti­li­sa­teur de na­vi­ga­teur :

1ère solution : appeler à nouveau l’ap­pli­ca­tion Web souhaitée.

L’erreur 504 se produit en général sur une courte durée. Par con­sé­quent la solution la plus rapide et la plus facile est de sim­ple­ment rappeler le site une nouvelle fois. Pour cela il suffit de ra­fraî­chir la page en cliquant sur le bouton qui se trouve au niveau de la barre d’adresse du na­vi­ga­teur. Vous pouvez également utiliser la touche [F5] ou la com­bi­nai­son de touches [STRG] + [R] ou bien rentrer à nouveau ma­nuel­le­ment l’URL.

2ème solution : re­dé­mar­rer tous les pé­ri­phé­riques réseau

Si le délai d’attente se produit au sein de votre réseau do­mes­tique, vous pouvez alors résoudre le problème en re­dé­mar­rant et en réi­ni­tia­li­sant vos pé­ri­phé­riques réseau. Il est en effet possible que le modem, routeur ou autre pé­ri­phé­rique soit mal configuré ou qu’il ne fonc­tionne tout sim­ple­ment pas nor­ma­le­ment pour d’autres raisons. Par con­sé­quent la requête HTTP du na­vi­ga­teur ne peut pas être effectuée dans la période imputée. Un in­di­ca­teur classique d’un problème avec vos propres pé­ri­phé­riques ou appareils est le fait de ne pas pouvoir afficher d’autres sites Internet et de recevoir à la place des messages d’erreur HTTP 504.

3ème solution : vérifier les pa­ra­mètres du serveur proxy

Si vous utilisez un serveur proxy pour votre activité Internet, assurez-vous de vérifier les pa­ra­mètres ap­pro­priés dans votre na­vi­ga­teur si une erreur 504 ne peut pas être corrigée avec un simple ra­fraî­chis­se­ment de page ou avec un re­dé­mar­rage du routeur. D’une part la con­fi­gu­ra­tion peut être dé­fec­tueuse, d’autre part, il peut être né­ces­saire de sé­lec­tion­ner un proxy différent parce que le serveur utilisé jusqu’a présent n’est plus dis­po­nible ou rencontre des problèmes tech­niques même si ha­bi­tuel­le­ment des messages comme « Proxy server not res­pon­ding » ou « Proxy server refusing con­nec­tion » s’affichent alors. Notre guide apporte des conseils pour régler les con­fi­gu­ra­tions de votre proxy sur votre na­vi­ga­teur.

4ème solution : changer de serveur DNS

Le serveur DNS utilisé par le routeur peut aussi être res­pon­sable de l’erreur 504-Gateway-Timeout. Lorsque vous vous connectez à Internet, votre four­nis­seur d’accès vous assigne au­to­ma­ti­que­ment un serveur primaire et un serveur se­con­daire, mais vous pouvez cependant choisir votre ré­so­lu­tion de noms. Les deux variantes ne sont pas 100 pourcent in­fail­libles, c’est pourquoi un délai d’attente lorsque vous contactez le serveur DNS est possible. Dans un tel scénario, le chan­ge­ment vers un serveur DNS, gratuit et ac­ces­sible au public peut re­pré­sen­ter la solution optimale. Le guide numérique vous indique les étapes requises pour modifier le serveur DNS.

5ème solution : contacter l’opérateur du site et ou le four­nis­seur d’accès à Internet.

Si malgré les chan­ge­ments apportés au matériel et aux logiciels la situation ne s’améliore pas. Il est alors pré­fé­rable de contacter di­rec­te­ment l’opérateur du site Web ou l’ad­mi­nis­tra­teur. Si la cause de l’erreur http 504 est le projet Web lui-même, vous êtes alors sus­cep­tible d’apprendre di­rec­te­ment quel est exac­te­ment le problème et surtout quand le site est sus­cep­tible d’être à nouveau dis­po­nible et librement con­sul­table. Toutefois si cette erreur ne s’applique qu’à vous ou à une partie des uti­li­sa­teurs, alors c’est cer­tai­ne­ment le signe qu’un serveur de votre four­nis­seur d’accès Internet est affecté. Dans ce cas, vous n’avez pas d’autre choix que de le contacter di­rec­te­ment.

Remarque

Si le projet Web en question est un site Web populaire et très fréquenté, un tour sur les réseaux sociaux comme Twitter peut alors vous aider à glaner des in­for­ma­tions utiles. En effet, les sociétés con­cer­nées com­mu­ni­quent gé­né­ra­le­ment ra­pi­de­ment sur ces réseaux si le site Internet de l’en­tre­prise et/ou le projet Web ren­contrent un problème. En outre, c’est aussi un moyen pour savoir si d’autres uti­li­sa­teurs ren­contrent le même problème que vous. Dans ce cas, les hashtags comme #web­si­te­down (par exemple #fa­ce­book­down) de­vien­nent très vite po­pu­laires.

6ème solution : réessayer et consulter le site ul­té­rieu­re­ment

Si les mesures per­son­nelles comme le re­dé­mar­rage ne per­met­tent pas de résoudre l’erreur HTTP 504 et cela in­dé­pen­dam­ment du serveur affecté dans la chaine de com­mu­ni­ca­tion ou quelle que soit la raison pour laquelle il ne peut pas traiter la requête.  Alors vous devez attendre que l’opérateur du site Web ou bien le four­nis­seur corrige l’erreur. Si le site Internet affiche ce message d’erreur pendant une période de temps longue ou à des in­ter­valles réguliers il est alors re­com­mandé de revenir sur le site bien ul­té­rieu­re­ment.

Erreur 504 : solutions pour les opé­ra­teurs de site Web.

Comme opérateur de projet Web, votre objectif est non seulement de proposer aux visiteurs le meilleur contenu possible combiné avec une uti­li­sa­bi­lité per­for­mante mais aussi de garantir un grand niveau de dis­po­ni­bi­lité de votre site. Un hé­ber­ge­ment stable et une pro­tec­tion pour les logiciels mal­veil­lants sont aussi im­por­tants qu’une réaction rapide aux problèmes tech­niques comme un « 504-Gateway-Timeouts ». Il est donc né­ces­saire de détecter le plus tôt possible cette erreur, de réagir ra­pi­de­ment en iden­ti­fiant la cause et d’obtenir ainsi une solution.

1ère solution : augmenter les res­sources du serveur proxy

Dans de nombreux cas, votre serveur proxy peut être la cause de l’erreur HTTP 504. En effet, si vous utilisez un proxy pour votre site Web afin de soulager le serveur Web, il peut alors être res­pon­sable du Gateway timeout. C’est notamment le cas si le projet se développe ra­pi­de­ment dans un temps re­la­ti­ve­ment court et que le nombre de visiteurs augmente ra­pi­de­ment, mais que le proxy lui n’a alors plus les res­sources né­ces­saires pour traiter l’ensemble des requêtes HTTP. De même pour les pics ponctuels qui peuvent être dus par exemple à des évè­ne­ments sai­son­niers comme Noel (dans le cas d’une boutique en ligne).  Si lors d’un trafic par­ti­cu­liè­re­ment élevé une erreur 504 apparait, c’est alors le signe d’une surcharge du serveur proxy. La solution est donc d’acheter des res­sources ma­té­rielles sup­plé­men­taires par exemple ou de les commander via votre four­nis­seur d’accès. Idéa­le­ment il est pré­fé­rable d’anticiper une telle aug­men­ta­tion afin de ne pas provoquer de panne de votre système. Ceci est notamment facile et pratique à réaliser si dès le départ vous optez pour une solution flexible d’hé­ber­ge­ment Cloud. Cela apporte à votre serveur proxy une puissance per­ma­nente ou une puissance sup­plé­men­taire tem­po­raire pour traiter toutes les requêtes HTTP entrantes sans problème et éviter ainsi les messages « 504 error ».

2ème solution : ajuster les pa­ra­mètres du serveur proxy

Un problème avec le serveur proxy n’est pas toujours le fait de res­sources man­quantes. En effet, il est aussi possible que des mauvaises con­fi­gu­ra­tions puissent être à l’origine du défaut de trai­te­ment des requêtes du client. Une erreur 504 Gateway timeout  liée à la con­fi­gu­ra­tion est un problème courant avec les serveurs proxy NGINX. Cependant, le problème peut être corrigé à l’aide de quelques entrées dans le fichier de con­fi­gu­ra­tion. Dans le cas de NGINX, il suffit d’ouvrir le fichier nginx.conf et d’insérer les lignes suivantes :

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

Si vous utilisez NGINX en com­bi­nai­son avec FastCGI (php-fpm), l’erreur HTTP 504 peut aussi se produire. Ce problème peut cependant via quelques ajus­te­ments se résoudre. Tout d’abord augmenter la valeur „max_execution_time“  dans le fichier fpm/php.ini et ajouter à cette valeur la variablerequest_terminate_timeout“ dans le fichier fpm/pool.d/www.conf. Puis re­cher­chez dans nginx.conf le bloc  „location ~ \.php$“ et y ajouter l’entrée suivante :

fastcgi_read_timeout 300;

Les deux solutions né­ces­si­tent un re­dé­mar­rage ultérieur de NGINX pour adopter les mo­di­fi­ca­tions afin de résoudre l’erreur  504 Gateway timeout :

service nginx reload

3ème solution : vérifier les bases de données et le CMS (système de gestion de contenu)

Le logiciel serveur n’est pas toujours res­pon­sable d’une erreur 504 Gateway Timeout. Un temps de trai­te­ment HTTP trop long et dépassé peut également provenir d’un système de gestion de contenu dé­fec­tueux ou bien des systèmes de base de données ou d’autres ap­pli­ca­tions qui ne fonc­tion­nent pas nor­ma­le­ment. Si ce message d’erreur apparait, vous devriez donc aussi con­si­dé­rer des dys­fonc­tion­ne­ments possibles dans ces systèmes. Comme pour les serveurs proxy, la cause la plus fréquente est de mauvaises con­fi­gu­ra­tions qui doivent être détectées et corrigées. Enfin ce qui peut concerner spé­ci­fi­que­ment un CMS est l’uti­li­sa­tion in­cor­recte d’un plugin qui doit être soit mis à jour ou bien purement désactivé.

Remarque

La meilleure façon d’éviter et d’anticiper les erreurs 504 est de créer ré­gu­liè­re­ment des sau­ve­gardes de toutes les bases de données de votre CMS et d’installer les mises à jour à temps. Lors de la sélection des ex­ten­sions, il est important de prêter attention à certains facteurs comme la date, la fiabilité et bien évi­dem­ment la comp­ta­bi­lité de toute extension. De plus il est conseillé d’utiliser un nombre assez restreint de plugins pour que le système de gestion de contenu ne consomme pas plus que les res­sources exis­tantes.

4ème solution : contacter l’hébergeur ou le four­nis­seur d‘accès à Internet.

Si toutes les ten­ta­tives et solutions pré­cé­dentes ne per­met­tent pas de fixer l’erreur 504 Gateway Timeout, il est très probable que l’erreur soit en hors de votre domaine de res­pon­sa­bi­lité puisque qu’elle ne provient pas de vos ap­pli­ca­tions. Dans ce cas, le problème vient cer­tai­ne­ment d’un serveur dans la chaine de com­mu­ni­ca­tion qui est géré par votre four­nis­seur d’accès ou par votre four­nis­seur d’hé­ber­ge­ment. Ainsi la seule option est donc de contacter l’hébergeur ou le four­nis­seur et de demander la ré­so­lu­tion du problème. Si votre projet Web a été infecté par des malwares et que vous ren­con­trez l’erreur 504, il est aussi utile et re­com­mandé de demander de l’aide.

Aller au menu principal