Erreur 504 : que signifie cette erreur et comment la corriger ?
L’erreur 504 est une erreur HTTP qui signifie qu’un serveur agissant comme passerelle ou proxy n’a pas reçu à temps la réponse du serveur situé en amont. Le message « 504 Gateway Timeout », que l’on peut traduire par « délai d’attente de la passerelle dépassé », indique donc principalement un problème de temps de réponse entre différents éléments de l’infrastructure web.
Cette erreur peut apparaître sur un site WordPress, une boutique en ligne, une API ou pratiquement n’importe quelle application web. Elle peut être provoquée par un serveur surchargé, une requête trop lente, une base de données qui met trop de temps à répondre, un appel à une API externe, un problème réseau, un proxy, un CDN ou encore un délai d’attente mal configuré.
Mais comment corriger l’erreur 504 lorsqu’elle apparaît ? Avant de modifier la configuration du serveur au hasard, il faut comprendre ce que signifie réellement ce code HTTP et identifier l’élément qui met trop de temps à répondre.
Que signifie l’erreur 504 ?
L’erreur 504 signifie qu’un serveur intermédiaire n’a pas obtenu de réponse du serveur en amont dans le délai prévu.
Le fonctionnement peut être représenté simplement :
Navigateur → proxy/CDN → serveur web → application → base de données
Lorsqu’une requête est envoyée, chaque élément de cette chaîne peut avoir besoin de communiquer avec le suivant.
Par exemple, un CDN peut transmettre la requête à votre serveur. Votre serveur web peut ensuite demander à PHP d’exécuter le code nécessaire. PHP peut à son tour interroger une base de données ou une API externe.
Si l’une de ces opérations prend trop de temps, le serveur intermédiaire finit par atteindre son délai maximal d’attente.
Il retourne alors :
504 Gateway Timeout
La documentation HTTP décrit précisément le 504 comme une situation dans laquelle un serveur agissant comme passerelle ou proxy n’obtient pas de réponse à temps du serveur en amont.
Que signifie l’erreur « 504 Gateway Timeout » en français ?
504 Gateway Timeout peut être traduit par « délai d’attente de la passerelle dépassé » ou « expiration du délai de la passerelle ».
Le terme Gateway désigne ici une passerelle entre le client et un autre serveur.
Le terme Timeout signifie que le délai d’attente est arrivé à expiration.
Autrement dit, le serveur intermédiaire attendait une réponse, mais celle-ci n’est pas arrivée suffisamment rapidement.
Il est important de comprendre que le code 504 ne donne pas nécessairement la cause exacte du ralentissement. Il indique surtout que la réponse n’est pas arrivée dans le délai autorisé. Il faut donc poursuivre le diagnostic pour découvrir pourquoi.
Pourquoi une erreur 504 apparaît-elle ?
Plusieurs situations peuvent provoquer une erreur 504.
Un serveur en amont trop lent
La première possibilité est simplement que le serveur situé en amont mette trop de temps à produire sa réponse.
Cela peut arriver lorsqu’une application exécute une opération particulièrement lourde.
Une page peut par exemple effectuer plusieurs traitements PHP, générer un fichier, effectuer de nombreuses requêtes SQL ou attendre la réponse d’un service externe.
Si le traitement dépasse le délai autorisé par le proxy ou le serveur intermédiaire, celui-ci renvoie un 504.
Un serveur surchargé
Une surcharge du serveur peut également ralentir considérablement les réponses.
Un pic de trafic, une consommation excessive de CPU ou de mémoire, un nombre trop important de processus ou des ressources d’hébergement insuffisantes peuvent augmenter les temps de traitement.
Dans une architecture utilisant un serveur d’application derrière un proxy, les requêtes peuvent alors s’accumuler dans une file d’attente jusqu’à dépasser le délai d’attente.
Les documentations techniques d’AWS et de Microsoft citent notamment les applications lentes, l’épuisement des ressources du serveur et les délais réseau parmi les causes possibles d’un 504.
Une requête SQL trop lente
Une base de données peut être à l’origine du problème.
Une requête SQL mal optimisée, une table très volumineuse, une recherche complexe ou l’absence d’index appropriés peuvent considérablement augmenter le temps nécessaire pour générer une page.
Le serveur web attend alors la base de données.
Si cette attente dépasse le timeout défini par un proxy ou un CDN, le visiteur reçoit finalement une erreur 504.
Un appel à une API externe qui ne répond pas
Les sites modernes dépendent souvent de services externes.
Une boutique peut communiquer avec une solution de paiement, un service de livraison ou une API de gestion des stocks. Un site peut également récupérer des données depuis une API météo, cartographique, marketing ou autre.
Si l’API externe ne répond pas ou répond très lentement, votre application peut rester en attente.
C’est particulièrement problématique lorsqu’aucun délai raisonnable n’est défini pour l’appel externe.
Un problème entre le serveur web et PHP-FPM
Sur de nombreux sites PHP, notamment WordPress, le traitement peut passer par PHP-FPM.
Si les processus PHP sont saturés, si une requête reste bloquée ou si le serveur manque de ressources, les requêtes peuvent attendre trop longtemps.
Le 504 peut alors être le symptôme visible d’un problème situé plus profondément dans l’infrastructure.
Un proxy ou un CDN
Un CDN ou un reverse proxy ajoute un intermédiaire supplémentaire entre le visiteur et le serveur d’origine.
Cloudflare indique notamment que les erreurs 502/504 peuvent provenir du serveur d’origine ou de son infrastructure, et qu’il faut déterminer quelle partie de la chaîne est à l’origine de l’erreur.
Un 504 affiché par un CDN ne signifie donc pas automatiquement que le CDN est responsable.
Le serveur d’origine peut simplement être trop lent à répondre.
Un problème réseau ou de pare-feu
Une connexion entre deux serveurs peut également être ralentie ou bloquée.
Un pare-feu mal configuré, une règle réseau, un problème de routage ou une résolution DNS incorrecte peuvent empêcher la passerelle de communiquer correctement avec le serveur d’origine.
La documentation MDN recommande notamment de vérifier la configuration réseau, le pare-feu, le proxy et le DNS lorsqu’un problème côté client ou réseau est suspecté.
Comment corriger l’erreur 504 ?
La correction dépend de l’endroit où le délai se produit.
Il ne faut donc pas commencer par augmenter systématiquement tous les timeouts. Une augmentation du délai peut parfois masquer temporairement le problème sans corriger la cause réelle.
Voici une méthode de diagnostic progressive.
1. Actualisez la page
Si vous êtes simplement visiteur du site, commencez par actualiser la page.
Une erreur 504 peut être temporaire : le serveur peut avoir subi une surcharge ponctuelle ou un service peut être en train de redémarrer.
Attendez quelques instants puis réessayez.
Si le site revient normalement, le problème était peut-être temporaire.
Si l’erreur se reproduit systématiquement, il faut aller plus loin.
2. Testez une autre page du site
Essayez d’ouvrir plusieurs URL du même domaine.
Si seule une page provoque le 504, le problème peut venir d’une opération particulière exécutée par cette page.
Par exemple :
- recherche interne ;
- filtre complexe ;
- import de données ;
- génération d’un fichier ;
- formulaire ;
- requête SQL importante ;
- appel à une API externe ;
- traitement PHP particulièrement lourd.
Si toutes les pages renvoient un 504, il faut plutôt examiner l’infrastructure, le serveur d’origine, le proxy, le CDN ou l’hébergement.
3. Testez depuis une autre connexion
Essayez le site avec une autre connexion Internet.
Vous pouvez notamment passer temporairement du Wi-Fi à une connexion mobile.
Si le site fonctionne depuis une autre connexion, le problème peut être lié à votre environnement réseau, à un VPN, à un proxy ou à une configuration DNS locale.
Si le 504 apparaît partout, l’origine est beaucoup plus probablement située côté serveur ou infrastructure.
4. Vérifiez l’état du serveur
Si vous êtes propriétaire du site, vérifiez les ressources disponibles.
Surveillez notamment :
CPU : un processeur constamment saturé peut ralentir les traitements.
RAM : un manque de mémoire peut entraîner une dégradation importante des performances.
Disque : un stockage saturé ou des opérations d’entrée/sortie trop lentes peuvent également affecter les temps de réponse.
Processus : un nombre excessif de processus PHP ou d’autres services peut provoquer une file d’attente.
Trafic : une augmentation soudaine des visiteurs ou des requêtes automatisées peut saturer l’infrastructure.
Les guides techniques consacrés aux 504 recommandent notamment de mesurer la latence et la charge avant de simplement augmenter les délais d’attente.
Comment corriger une erreur 504 sur WordPress ?
Sur WordPress, le 504 peut être lié à une opération PHP trop longue, une extension, un thème, une requête SQL, une tâche planifiée ou un problème d’hébergement.
Commencez par déterminer quelle URL ou quelle action provoque le timeout.
Si la page d’accueil fonctionne mais qu’une page de recherche renvoie systématiquement un 504, il faut analyser cette fonctionnalité plutôt que l’ensemble du site.
Si le problème est apparu après l’installation ou la mise à jour d’une extension, cette modification constitue également une piste.
Une extension peut par exemple effectuer une requête lourde, interroger une API externe ou déclencher un traitement particulièrement coûteux.
Il faut également vérifier les journaux du serveur et de PHP afin de déterminer ce qui se passe au moment exact du timeout.
Vérifiez les requêtes SQL lentes
Si votre site WordPress fonctionne correctement sur les pages simples mais rencontre des 504 sur certaines fonctionnalités, la base de données mérite une attention particulière.
Une requête SQL trop lente peut bloquer le traitement d’une page suffisamment longtemps pour provoquer l’expiration du délai côté proxy.
Il faut donc rechercher les requêtes particulièrement longues et déterminer pourquoi elles prennent autant de temps.
Selon le cas, la solution peut être une optimisation de la requête, un index de base de données, une modification du fonctionnement d’un plugin ou une optimisation de la structure des données.
Vérifiez les appels aux API externes
Un site peut également attendre un service qui n’est pas directement sous votre contrôle.
Imaginons qu’une page doive récupérer des informations depuis une API externe avant d’être affichée.
Si cette API répond en 20 secondes alors que votre infrastructure attend seulement 10 secondes, la page peut échouer avec un timeout.
La bonne solution consiste généralement à définir des délais raisonnables, gérer les erreurs, mettre en cache les réponses lorsque cela est possible et éviter de rendre l’affichage d’une page entièrement dépendant d’un service externe lent.
Vérifiez PHP-FPM et le serveur web
Sur un serveur Linux utilisant Nginx et PHP-FPM, examinez les journaux de ces services.
Recherchez les événements correspondant exactement à l’heure où le 504 s’est produit.
Vous pouvez par exemple vérifier l’état du service PHP-FPM avec :
systemctl status php8.3-fpm
La version de PHP dépend naturellement de votre installation.
Il faut ensuite examiner les journaux pour rechercher les requêtes lentes, les processus bloqués, les erreurs PHP et les problèmes de ressources.
Le but n’est pas simplement de constater que PHP fonctionne : il faut comprendre pourquoi la requête n’a pas terminé suffisamment rapidement.
Vérifiez les paramètres de timeout
Une infrastructure web peut comporter plusieurs délais d’attente.
Par exemple :
Navigateur → CDN → reverse proxy → Nginx → PHP-FPM → application → base de données
Chaque niveau peut avoir sa propre limite.
Si un composant abandonne après 30 secondes alors que l’application nécessite 45 secondes, le visiteur recevra un 504 même si l’application aurait finalement terminé correctement.
Cela explique pourquoi augmenter un seul timeout ne résout pas toujours le problème.
Il faut comprendre quel composant abandonne la connexion en premier.
AWS recommande notamment de mesurer la latence de l’application et du serveur d’origine avant d’augmenter le timeout d’un service intermédiaire.
Faut-il simplement augmenter le timeout pour corriger une erreur 504 ?
Pas nécessairement.
Augmenter le timeout peut être pertinent lorsqu’une opération légitime nécessite réellement plus de temps.
Mais si une page prend 60 secondes parce qu’une requête SQL est mal optimisée, augmenter le délai à 120 secondes ne règle pas le problème de fond.
Vous obtenez simplement une page qui reste bloquée deux fois plus longtemps avant d’échouer.
La priorité doit donc être :
identifier → mesurer → optimiser → tester → ajuster le timeout si nécessaire.
Cette approche est également recommandée dans les documentations techniques : l’amélioration des performances de l’application et du serveur d’origine doit être privilégiée avant l’augmentation des délais.
Erreur 504 sur Google : que signifie-t-elle ?
Une erreur 504 sur Google peut correspondre à une situation dans laquelle un service Google ou une infrastructure intermédiaire n’a pas reçu à temps la réponse attendue d’un serveur en amont.
Le principe reste celui du code HTTP 504 : une passerelle ou un proxy attend une réponse qui arrive trop tard ou n’arrive pas dans le délai prévu.
Il faut donc éviter de conclure automatiquement que l’erreur vient de votre ordinateur.
Si l’erreur apparaît sur un service Google, vérifiez d’abord si le problème est temporaire et si d’autres utilisateurs rencontrent également des difficultés.
Si vous êtes propriétaire d’un site et que vous observez des 504 lorsque Googlebot tente d’accéder à certaines pages, il faut surtout rechercher les problèmes de disponibilité et de temps de réponse du serveur.
Erreur 504 et Cloudflare : comment trouver la cause ?
Lorsque Cloudflare est installé devant votre site, vous avez généralement cette architecture :
Visiteur → Cloudflare → serveur d’origine
Cloudflare indique que les erreurs 502 et 504 peuvent être générées par le serveur d’origine ou par Cloudflare lui-même.
La première étape consiste donc à déterminer qui génère le code.
Examinez l’apparence de la page d’erreur, les journaux et les événements disponibles.
Si le serveur d’origine est lent, le fait de modifier Cloudflare ne supprimera pas nécessairement la cause.
Il faut alors analyser le serveur d’origine.
Quelle différence entre une erreur 504 et une erreur 502 ?
Les deux erreurs sont proches, mais elles ne signifient pas exactement la même chose.
Une erreur 502 Bad Gateway indique qu’un serveur intermédiaire a reçu une réponse invalide du serveur en amont.
Une erreur 504 Gateway Timeout indique que le serveur intermédiaire n’a pas reçu de réponse à temps.
En simplifiant :
502 → une réponse problématique a été reçue.
504 → aucune réponse exploitable n’est arrivée dans le délai prévu.
Cette distinction est particulièrement utile pour orienter le diagnostic.
Quelle différence entre erreur 504, 500 et 503 ?
L’erreur 500 Internal Server Error correspond à une erreur interne générique du serveur.
L’erreur 503 Service Unavailable indique que le service n’est temporairement pas disponible.
L’erreur 504 Gateway Timeout, elle, indique qu’une passerelle ou un proxy n’a pas obtenu la réponse attendue dans le délai imparti.
Ces codes appartiennent tous à la famille des erreurs HTTP 5xx, mais le point de défaillance n’est pas nécessairement le même.
Identifier précisément le code affiché est donc important avant de commencer un dépannage.
Comment diagnostiquer une erreur 504 sans modifier le serveur au hasard ?
Lorsqu’un site professionnel rencontre régulièrement des 504, la meilleure approche consiste à établir une chronologie.
Commencez par noter :
Quelle URL provoque l’erreur ?
Quelle action déclenche le problème ?
Le délai avant l’erreur est-il toujours similaire ?
Le problème apparaît-il à certaines heures ?
Le site fonctionne-t-il depuis une autre connexion ?
Une modification récente a-t-elle été effectuée ?
Le serveur est-il fortement sollicité au moment du problème ?
Les logs montrent-ils une requête lente ou un service bloqué ?
Un délai presque toujours identique peut orienter vers une limite de timeout. À l’inverse, des temps très variables peuvent être compatibles avec une saturation ou une charge fluctuante.
L’objectif est de trouver où le temps est consommé plutôt que de modifier successivement tous les paramètres disponibles.
Une erreur 504 est-elle grave pour un site web ?
Une erreur 504 ponctuelle ne signifie pas nécessairement que le site est gravement défaillant.
Elle peut être liée à un incident temporaire ou à une surcharge momentanée.
En revanche, des 504 fréquentes ou persistantes indiquent qu’il existe un problème qui mérite une analyse.
Pour un site vitrine, cela dégrade l’expérience des visiteurs.
Pour une boutique en ligne, une erreur pendant la recherche, le panier ou le paiement peut empêcher une action importante.
Pour une application web, un timeout peut interrompre une opération métier.
Pour un site dépendant du trafic organique, des problèmes répétés de disponibilité peuvent également compliquer l’accès des robots aux pages.
Le plus important est donc de traiter la cause du timeout, et pas uniquement le message affiché au visiteur.
FAQ sur l’erreur 504
Que signifie l’erreur 504 ?
L’erreur 504 signifie qu’un serveur agissant comme passerelle ou proxy n’a pas reçu à temps la réponse du serveur en amont.
Comment corriger l’erreur 504 ?
Commencez par actualiser la page si vous êtes visiteur. Si vous administrez le site, recherchez ensuite la cause du délai : serveur surchargé, application lente, requête SQL, PHP-FPM, API externe, réseau, proxy, CDN ou configuration des timeouts.
Que signifie 504 Gateway Timeout en français ?
504 Gateway Timeout signifie approximativement « délai d’attente de la passerelle dépassé » ou « expiration du délai de la passerelle ».
Pourquoi mon site WordPress affiche-t-il une erreur 504 ?
WordPress peut afficher ou provoquer indirectement un 504 lorsqu’une requête PHP, une requête SQL, une extension, une tâche planifiée ou un appel à un service externe prend trop de temps.
Une erreur 504 vient-elle de mon navigateur ?
Généralement, non. Le 504 concerne principalement la communication entre un serveur intermédiaire et un serveur en amont. Des problèmes de réseau, de proxy, de VPN ou de DNS peuvent toutefois provoquer certains cas particuliers côté client.
Est-ce qu’un 504 peut disparaître tout seul ?
Oui. Si le problème est provoqué par une surcharge temporaire, un service momentanément indisponible ou un incident réseau, le site peut redevenir accessible sans intervention.
Mais si les 504 se répètent, il faut rechercher la cause.
Est-il préférable d’augmenter le délai d’attente ?
Pas systématiquement. Si une application est anormalement lente, augmenter le timeout peut simplement retarder l’apparition de l’erreur. Il est généralement préférable d’identifier et de corriger la cause de la lenteur avant d’ajuster les délais.
Conclusion
L’erreur 504 correspond principalement à un dépassement du délai d’attente entre une passerelle ou un proxy et un serveur en amont. Elle ne signifie donc pas forcément que votre site est complètement hors service : une fonctionnalité ou une requête particulière peut simplement prendre trop de temps.
Pour corriger l’erreur 504, commencez par identifier l’URL concernée et les conditions dans lesquelles le problème apparaît. Examinez ensuite les ressources du serveur, les logs, PHP-FPM, les requêtes SQL, les appels API, le réseau, le CDN et les différents paramètres de timeout.
Sur WordPress, il est particulièrement important de rechercher les extensions, scripts, requêtes de base de données ou traitements PHP susceptibles de ralentir certaines pages.
Enfin, évitez de considérer l’augmentation du timeout comme une solution universelle. Un délai plus important peut parfois empêcher l’erreur d’apparaître immédiatement, mais une application qui met anormalement longtemps à répondre doit d’abord être diagnostiquée et optimisée.
Si votre site WordPress ou votre application web rencontre des erreurs 504 récurrentes et que vous ne parvenez pas à identifier la cause, vous pouvez découvrir mes services de développement web pour bénéficier d’un diagnostic et d’une intervention adaptée.
Un projet web
à concrétiser ?
Vous avez un projet, une idée ou un besoin spécifique ? Décrivez-moi votre projet et recevez une estimation adaptée à vos besoins.
Demander un devis