504

Gateway Timeout

Officiellement,
Le serveur parent ne répondait pas en temps voulu

Explication générale du code d'état 504

L'erreur HTTP 504 Gateway Timeout se produit lorsqu'un serveur tente de répondre à une requête d'un client, mais n'est pas en mesure de le faire dans un délai raisonnable. Cette erreur est généralement appelée "Gateway Timeout", car elle se produit souvent lorsqu'un serveur proxy ou une passerelle servant d'intermédiaire entre le client et le serveur n'est pas en mesure d'établir une connexion ou de recevoir une réponse du serveur. Cela peut être dû à différentes raisons, comme la surcharge du serveur, des problèmes de réseau ou une configuration insuffisante du proxy ou de la passerelle.

Spécification du code d'état HTTP 504

Le code d'état 504 Gateway Timeout indique que le serveur, qui agit comme une passerelle ou un proxy, n'a pas reçu de réponse en temps voulu de la part d'un serveur en amont auquel il devait accéder pour compléter la demande.

Source / Citation de : Le code d'état HTTP 504 Gateway Timeout est spécifié par la section 6.6.5 de RFC7231.

Comment lancer un code d'état 504 avec PHP ?

Pour lancer le code d'état HTTP 504 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste le code d'état HTTP 504

Pour pouvoir afficher le code de statut HTTP (dans ce cas 504 Gateway Timeout) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :

Code d'état 504 Gateway Timeout
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Statut: 504 Gateway Timeout
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 504 Gateway Timeout

Comment résoudre le problème du code d'état 504 ?

Il y a plusieurs raisons possibles pour lesquelles une erreur HTTP 504 Gateway Timeout "Gateway Timeout" peut se produire, comme par exemple:

  1. Surcharge du serveur : si un serveur reçoit trop de requêtes et n'est pas en mesure d'y répondre dans un délai raisonnable, une erreur de timeout peut se produire. Cela peut être résolu en redimensionnant le serveur ou en ajoutant des ressources telles que le CPU, la RAM ou la mémoire.
  2. Problèmes de réseau : une erreur de timeout peut également se produire s'il y a des problèmes de connexion réseau entre le client et le serveur. Cela peut être résolu en vérifiant la connexion réseau, en contrôlant les configurations du routeur ou du pare-feu ou en redémarrant les composants du réseau.
  3. Problèmes avec les proxies ou les passerelles : une passerelle ou un proxy qui sert d'intermédiaire entre le client et le serveur peut également provoquer une erreur de timeout. Cela peut être corrigé en vérifiant et en ajustant les paramètres du proxy ou de la passerelle.
  4. Application ou base de données lente : si une application ou une base de données fonctionne lentement, cela peut également entraîner une erreur de timeout. Cela peut être corrigé en optimisant l'application ou la base de données.

Pour résoudre le problème, les mesures suivantes peuvent être prises :

  1. Vérifier l'état du serveur et s'assurer qu'il n'est pas surchargé.
  2. Vérifier la connexion réseau et s'assurer qu'elle est stable et fiable.
  3. Vérifiez la configuration des proxies ou des passerelles et ajustez-la si nécessaire.
  4. Optimisez l'application ou la base de données pour améliorer ses performances.
  5. Redémarrer les composants réseau ou les serveurs peut également aider à résoudre le problème.

Dans de nombreux cas, une combinaison de ces mesures peut résoudre le problème.

Comment créer une page d'erreur personnalisée pour le code d'état 504 ?

Créer sa propre page d'erreur 504 Gateway Timeout est relativement facile, aussi bien avec le serveur web "Apache" qu'avec le serveur web "NGINX".

Apache Webserver

Le serveur web "Apache" est l'un des serveurs web les plus répandus sur Internet. Pour créer sa propre page d'erreur 504 Gateway Timeout dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.

File: .htaccess
ErrorDocument 504 /errors/504.html

NGINX Webserver

Tout comme le serveur web "Apache", "NGINX" est également très répandu sur Internet. Pour créer sa propre page d'erreur 504 Gateway Timeout dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.

File: sites-enabled/default
error_page 504 /504.html;
location = /504.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilité du navigateur avec le code d'état 504

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Les constantes dans les langages de programmation

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout
Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser est un développeur web enthousiaste avec une prédilection pour les codes de statut HTTP.

LinkedInGitHub