"502 Bad Gateway" ou "504 Gateway Timeout" ? Un guide pour y voir clair et y remédier en un clin d'œil

Lors de la gestion et de la maintenance d'un site web, il est toujours ennuyeux de rencontrer des erreurs de passerelle. Parmi celles-ci.502 Mauvaise passerelle répondre en chantant 504 Délai d'attente de la passerelle Ces erreurs "frères" sont les plus courantes, mais aussi les plus déroutantes. De nombreux administrateurs sont désorientés lorsqu'ils sont confrontés à ces deux erreurs, ce qui les conduit à se tromper de méthode de dépannage. Dans cet article, nous analyserons la différence fondamentale entre les deux et fournirons un cadre clair pour le dépannage afin de vous aider à localiser et à résoudre rapidement le problème.

502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout

I. Concepts de base : utiliser l'analogie du restaurant pour comprendre la nature de deux erreurs

Pour faire rapidement la distinction entre les deux, une analogie classique avec les restaurants fonctionne très bien.

1.1 502 Bad Gateway : L'arrière de la maison est fermé

Imaginez que vous êtes au restaurant (votre site web). Vous (le navigateur) passez une commande à un serveur (un serveur web tel que Nginx/Apache). Le serveur prend la commande et doit la transmettre à l'arrière-boutique (services en amont tels que PHP-FPM, base de données, etc.

  • 502 Mauvaise scèneLe serveur court à l'arrière de la cuisine et découvre que la porte est fermée et qu'il n'y a pas de chef ; ou l'arrière de la cuisine est en désordre et le chef ne peut pas comprendre la commande. Le serveur ne peut pas obtenir le plat et doit revenir vous voir pour vous dire : "L'arrière-cuisine est inaccessible, le plat ne peut pas être préparé".
  • Substance technique502 : Cette erreur indique que le serveur agissant en tant que passerelle ou proxy (serveur) n'a pas été en mesure de recevoir une réponse valide et attendue du serveur en amont (salle des pas perdus). Une erreur 502 peut être déclenchée par le refus d'une connexion, le blocage d'un service en amont ou le renvoi de données non valides.
502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout

1.2 504 Gateway Timeout : la cuisson en arrière-boutique est trop lente

Aujourd'hui, le scénario est légèrement différent.

  • 504 Mauvais scénarioLe serveur a transmis la commande à l'arrière-cuisine et a commencé à attendre. Il attend longtemps, très longtemps, bien au-delà du temps d'attente raisonnable fixé par le restaurant, mais l'arrière-cuisine n'a toujours pas distribué le plat fini. Le serveur ne peut plus attendre et doit revenir vers vous pour s'excuser : "L'arrière-cuisine a dépassé le délai de préparation et votre commande ne peut être honorée".
  • Substance technique504 : Ceci indique que la passerelle ou le serveur proxy (serveur) a dépassé le délai prédéfini en attendant une réponse du serveur en amont (backroom). La lenteur de traitement du service en amont est la raison principale de la 504.
502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout

II. analyse des causes profondes : comparaison des causes spécifiques des deux erreurs

Après avoir compris la métaphore, analysons concrètement ses racines techniques.

2.1 Causes principales de la mauvaise passerelle 502

  • Le service PHP-FPM ne fonctionne plusC'est la raison la plus fréquente : le gestionnaire de processus PHP-FPM lui-même tombe en panne ou s'arrête de fonctionner pour une raison quelconque, ce qui empêche Nginx de communiquer avec lui via une socket ou un port TCP.
  • épuisement des ressources: La mémoire du serveur ou les ressources du processeur sont complètement épuisées, ce qui empêche la création de nouveaux processus PHP.
  • Mauvaise configuration du proxy: enNginxdans le fichier de configuration duproxy_passetfastcgi_passetc. pointent vers une mauvaise adresse, un mauvais port, ou un fichier de socket inexistant.
  • Code Erreur fatale: :PHPUne erreur sérieuse dans le code qui a provoqué la sortie immédiate du processus a entraîné le plantage soudain du processus enfant PHP-FPM lors du traitement d'une requête.
502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout

2.2 Causes principales de l'interruption de la passerelle 504

  • Délai d'exécution du script PHPUn script PHP (par exemple une tâche complexe d'importation de données) prend trop de temps à s'exécuter et dépasse la capacité d'exécution de Nginx.proxy_read_timeoutou PHP-FPMdélai_de_termination_de_la_demandeLe cadre.
  • Requêtes de base de données lentesLe site a exécuté une requête de base de données très volumineuse ou non optimisée, la base de données a mis du temps à renvoyer les résultats, le script PHP a continué à attendre et la requête a finalement été interrompue.
  • Temps de latence des appels à l'API externe: VotreWordPressLe site web doit appeler un service API externe (par exemple, une passerelle de paiement, une interface de médias sociaux) qui répond extrêmement lentement ou pas du tout.
  • Ressources serveur insuffisantesBien que le service soit toujours en cours d'exécution, la demande est traitée très lentement et ne peut être achevée dans le délai imparti en raison de goulets d'étranglement au niveau des performances du serveur.
502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout

Troisièmement, l'enquête proprement dite : étape par étape pour localiser et résoudre le problème

Voici un processus de dépannage systématique qui vous aidera à remonter de la surface à la cause première.

3.1 Première étape : vérifier le journal du serveur

Les journaux sont le premier endroit où diagnostiquer les problèmes.

  • Journal d'erreurs Nginx / Apache: :
    • Exemple d'itinéraire: :/var/log/nginx/error.log peut-être /var/log/apache2/error.log.
    • Trouver un contenuRecherchez les entrées contenant "502" ou "504" à proximité du moment où l'erreur s'est produite. Le journal fournit généralement des informations d'erreur plus spécifiques, telles que "Connexion refusée en amont" (pointant vers 502) ou "upstream timed out" (pointant vers 504).

3.2 Étape 2 : Solutions ciblées

Corrections pour 502 Bad Gateway :

502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout
  • Redémarrer les services back-endLe service PHP-FPM doit être redémarré : Essayez de redémarrer le service PHP-FPM. La commande est généralement sudo systemctl restart php-fpm(Le nom du service spécifique peut êtrephp8.1-fpm(etc.).
  • Contrôle de l'utilisation des ressources: Utilisation libre-m Pour vérifier la mémoire, utilisez la fonction sommet peut-être htop Vérifiez l'utilisation de l'unité centrale. Si les ressources sont épuisées, vous devez identifier les processus qui les consomment ou envisager une mise à niveau de la configuration du serveur.
  • Vérification de la configuration du proxy: Vérifiez le fichier de configuration Nginx de votre site pour vous assurer que l'option fastcgi_pass Le chemin indiqué par la directive (par ex. unix:/var/run/php/php8.1-fpm.sock) ou un port (par exemple 127.0.0.1:9000) existe et est correcte.

Correction du délai d'attente de la passerelle 504 :

  • Optimisation des requêtes et des scripts lents: :
    • Utiliser une méthode telle que "Moniteur de requêtes"Ces plugins WordPress permettent d'identifier les requêtes de base de données qui s'exécutent lentement et de les optimiser.
    • Révisez votre propre code pour éviter d'effectuer de longues boucles ou des tâches de calcul lourdes.
502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout
  • Réglage des délais d'attente: :
    • Dans le fichier de configuration de Nginx, dans la section localisation Dans le bloc, ajouter le cas échéant proxy_read_timeout répondre en chantant fastcgi_read_timeout (par exemple, de la valeur par défaut de 60 secondes à 120 secondes). Il ne s'agit là que d'une solution d'atténuation temporaire ; la cause première reste la nécessité d'optimiser les performances.
    • existent php-fpm Le profil de la piscine (www.conf) dans lequel le chèque délai_de_termination_de_la_demande Le cadre.
  • Contrôle des services externesSi votre site s'appuie sur des API externes, vérifiez l'état et la réactivité de ces services.

3.3 Étape 3 : Résolution des problèmes liés à WordPress

Qu'il s'agisse de 502 ou de 504, un plugin ou un thème WordPress peut être en cause.

502 Bad Gateway504 Gateway TimeoutErreur de passerelle PHP-FPMNginx timeout
  • Désactiver tous les plug-ins: via FTP ou un gestionnaire de fichiers. wp-content/plugins Renommer le répertoire en plugins.deactivateCela désactivera immédiatement tous les plugins. Cela désactivera immédiatement tous les plugins. Vérifiez ensuite si l'erreur disparaît. Si le problème est résolu, réactivez les plugins un par un pour trouver celui qui pose problème.
  • Changer de thème par défautThème par défaut : Passer temporairement du thème actuel au thème par défaut fourni avec WordPress (par exemple Twenty Twenty-Four) afin de résoudre les problèmes de compatibilité entre les thèmes.

IV. résumé et tableau des principales différences

propriété diagnostique502 Mauvaise passerelle504 Délai d'attente de la passerelle
Signification principalePasserelle incapable de contacter les services en amontLa passerelle attend le délai de réponse du service en amont
métaphore du restaurantFermeture/effondrement de l'arrière-boutiqueLa cuisine est trop lente.
Stade de l'émissionphase d'établissement de la connexionPhase de traitement de la demande
Points de contrôle primairesStatut, ressources et configuration du service PHP-FPMTemps d'exécution des scripts PHP/base de données, appels externes

Faire la distinction entre les erreurs 502 et 504 est la première étape pour résoudre efficacement les problèmes de passerelle de site web. 502 renvoie à la "connectivité" et à la "disponibilité", tandis que 504 renvoie à la "performance" et à l'"efficacité". "Efficacité. En suivant le chemin de dépannage fourni dans cet article, de l'analyse des journaux aux correctifs ciblés en passant par le dépannage des composants de WordPress, vous serez en mesure de résoudre systématiquement ces problèmes et de rétablir un fonctionnement stable de votre site. N'oubliez pas que les journaux sont vos meilleurs amis et qu'une approche systématique du dépannage est votre outil le plus puissant.


Contactez nous
Vous n'arrivez pas à lire le tutoriel ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Service clientèle WeChat
Service clientèle WeChat
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : [email protected]
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
© Déclaration de reproduction
Cet article a été rédigé par ALEX SHAN
LA FIN
Si vous l'aimez, soutenez-le.
félicitations98 partager (joies, avantages, privilèges, etc.) avec les autres
Avatar d'ALEX SHAN - Photon Flux Network | Service professionnel de réparation de WordPress, dans le monde entier, réponse rapide
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires