Code erreur

HTTP 504 — Gateway Timeout

Une passerelle n’a pas reçu de réponse du serveur en amont dans le délai configuré.

Voir mes favoris

HTTP 504 — Gateway Timeout

Domaine : HTTPPriorité : Haute

Que signifie cette erreur ?

Une passerelle n’a pas reçu de réponse du serveur en amont dans le délai configuré.

Causes probables

  • requête backend trop lente
  • base de données bloquée
  • timeout proxy trop court
  • perte réseau entre proxy et application

Vérifications et résolution

  1. Mesurer le temps de réponse direct du backend
  2. Contrôler les requêtes lentes et dépendances
  3. Comparer les timeouts proxy et applicatifs
  4. Vérifier les erreurs réseau entre les couches
Précaution : Augmenter le timeout sans traiter la lenteur du backend ne fait que déplacer le problème.

← Revenir à la base des codes d’erreur

Approfondissement et preuve primaire

HTTP 504 est une réponse générée dans la chaîne HTTP : une passerelle ou un proxy n’a pas reçu à temps la réponse nécessaire du serveur amont. Le navigateur ou client n’est donc pas nécessairement la cause. Il faut identifier quel composant a émis le statut — application, reverse proxy, load balancer, CDN ou passerelle — et conserver les en-têtes et l’heure de la requête.

Vérification approfondie

Rejouer une requête représentative directement vers l’amont lorsque c’est possible, puis comparer latence, logs applicatifs et logs du proxy. Vérifier la santé des pools, les timeouts configurés, les connexions disponibles et la saturation. Une augmentation de timeout ne corrige pas une application bloquée ; elle peut seulement déplacer le moment où l’échec devient visible.

Critère de validation

La résolution est validée quand le même chemin de requête renvoie une réponse applicative attendue sans HTTP 504, sous une charge représentative et pendant une durée suffisante. Confirmer que le proxy et l’amont partagent des timeouts cohérents et que les métriques ne montrent plus de file d’attente ou d’erreur croissante.

Référence primaire : IETF RFC 9110 — HTTP Semantics.

♡ 0