Un 504 doit être décomposé entre proxy, réseau et temps de traitement du backend.
Étapes à suivre
-
1
Identifier le composant qui renvoie 504
Proxy, CDN ou load balancer.
-
2
Tester backend direct
Si possible sans contourner la sécurité.
-
3
Mesurer durée
Repérez seuil de timeout.
-
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.
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.