Guide

Comment diagnostiquer une erreur HTTP 504

Un 504 doit être décomposé entre proxy, réseau et temps de traitement du backend.

⌚ Environ 3 min de lecture
Voir mes favoris
Web Intermédiaire 20 min

Un 504 doit être décomposé entre proxy, réseau et temps de traitement du backend.

Avant de commencer : adaptez toujours les commandes et manipulations à votre environnement. Sur un système de production, prévoyez une sauvegarde ou un retour arrière lorsque l’action peut modifier la configuration.

Étapes à suivre

  1. 1

    Identifier le composant qui renvoie 504

    Proxy, CDN ou load balancer.

  2. 2

    Tester backend direct

    Si possible sans contourner la sécurité.

  3. 3

    Mesurer durée

    Repérez seuil de timeout.

  4. 4

    Lire logs application

    Cherchez requête lente ou dépendance.

Commandes utiles

curl -I https://example.com

À retenir

  • Augmenter le timeout n’est pas une correction durable.
  • Comparer avec CPU, DB et réseau backend.
Complément technique

HTTP 504 / 429 : distinguer timeout amont et limitation de débit

Repères techniques

  • 504 signifie généralement qu’un proxy/gateway n’a pas reçu de réponse amont à temps ; le code est produit par l’intermédiaire, pas forcément par l’application finale.
  • 429 signifie que le client dépasse une politique de débit/quota ; Retry-After, headers de rate limit et identité du client sont importants.
  • Le temps total doit être découpé entre DNS, connexion, TLS, attente backend et transfert pour localiser un 504.

Mesure curl

Mesurer les phases plutôt que seulement le code final.

curl -sS -o /dev/null -w "dns:%{time_namelookup} connect:%{time_connect} start:%{time_starttransfer} total:%{time_total}\n" https://example.com/

Pièges spécifiques

  • Augmenter tous les timeouts peut seulement rendre l’échec plus lent si le backend est réellement bloqué.
  • Contourner un 429 avec plus de concurrence aggrave souvent la limitation.

Comment valider

  • Pour 504, la latence ou erreur est localisée sur un composant précis de la chaîne.
  • Pour 429, le client respecte le quota/Retry-After et le taux d’erreur retombe.

Preuves et vérifications

504 signifie généralement qu’un proxy/gateway n’a pas reçu de réponse amont à temps ; le code est produit par l’intermédiaire, pas forcément par l’application finale. 429 signifie que le client dépasse une politique de débit/quota ; Retry-After, headers de rate limit et identité du client sont importants.

Contrôle de résultat

Pour 504, la latence ou erreur est localisée sur un composant précis de la chaîne. Pour 429, le client respecte le quota/Retry-After et le taux d’erreur retombe.

Point d’attention

Augmenter tous les timeouts peut seulement rendre l’échec plus lent si le backend est réellement bloqué. Le temps total doit être découpé entre DNS, connexion, TLS, attente backend et transfert pour localiser un 504.

Concepts liés

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

♡ 0