Comment réparer l'erreur 502 Bad Gateway NGINX ? (7 méthodes)
Publié: 2023-04-20Nginx est un serveur Web open source bien connu qui est très populaire pour ses performances, son évolutivité et sa flexibilité. Cependant, comme d'autres serveurs Web, Nginx peut être confronté à des erreurs qui entravent sa capacité à fournir du contenu aux clients. L'une de ces erreurs est l'erreur 502 Bad Gateway Nginx.
Rencontrer des erreurs peut être assez frustrant et déroutant, surtout si vous n'êtes pas techniquement compétent. Vous pouvez rencontrer plusieurs erreurs importantes similaires, telles que l'écran blanc de la mort et l'erreur d'établissement de la connexion à la base de données. Mais l'erreur 502 bad gateway nginx est très populaire.
Il peut y avoir plusieurs raisons possibles pour que cette erreur se produise et donc différentes façons de la résoudre. Dans cet article, nous vous dirons ce que signifie réellement 502 bad gateway Nginx, ses causes possibles et quelle est la meilleure méthode de dépannage à suivre.
Commençons !
Lire : 15 méthodes pour corriger l'erreur 502 Bad Gateway sur votre site Web
Qu'est-ce qu'une erreur 502 Bad Gateway Nginx ?
Une erreur 502 Bad Gateway Nginx est un code d'état HTTP qui représente un serveur agissant comme une passerelle ou un serveur proxy qui ne reçoit pas de réponse valide d'un serveur en amont. Dans le cas de Nginx, une erreur de passerelle 502 incorrecte se produit lorsque le serveur ne peut pas établir de connexion avec le serveur en amont ou lorsque le serveur en amont renvoie une réponse non valide.
Cette erreur se produit généralement lorsque vous essayez d'accéder à un site Web ou à une application Web hébergée derrière un proxy inverse ou un équilibreur de charge.
Il existe plusieurs variantes de 502 Bad gateway Nginx Error que vous pouvez trouver sur différents sites. Par exemple:
- Erreur HTTP 502 - Mauvaise passerelle
- Erreur de proxy 502
- 502 Mauvaise passerelle
- Service 502 temporairement surchargé
- HTTP 502
- 502 Passerelle incorrecte nginx
- Erreur 502
Qu'est-ce qui cause une erreur 502 Bad Gateway Nginx ?
Il peut y avoir plusieurs raisons pour lesquelles une erreur 502 Bad Gateway peut se produire dans Nginx, mais voici quelques-unes des plus courantes répertoriées ci-dessous :
La surcharge du serveur
Lorsqu'un serveur principal reçoit trop de demandes, il peut devenir surchargé et ne pas répondre dans le délai imparti. Cela provoque une erreur 502 car le serveur en amont ne peut pas répondre à la demande du client. Des stratégies de dimensionnement de serveur, d'allocation de ressources, d'équilibrage de charge et de mise à l'échelle appropriées peuvent empêcher la surcharge du serveur.
Problèmes de connectivité
- Des problèmes de connectivité peuvent provoquer une erreur 502 Bad Gateway dans Nginx en cas de problème de connexion réseau entre le serveur proxy inverse et le serveur principal.
- Cela peut se produire en raison d'une congestion du réseau, de paramètres réseau mal configurés ou de pannes matérielles.
- Lorsque le serveur proxy inverse tente de transmettre une demande au serveur principal mais ne peut pas établir de connexion, il renvoie une erreur 502 au client.
- L'erreur se produit car le serveur proxy inverse agit comme un intermédiaire entre le client et le serveur principal et est incapable de se connecter au serveur principal pour répondre à la demande du client.
- Le dépannage des paramètres réseau, la vérification des règles de pare-feu et la surveillance du trafic réseau peuvent aider à résoudre le problème.
Problèmes DNS
- Les problèmes DNS peuvent provoquer une erreur 502 Bad Gateway dans Nginx lorsque la résolution DNS du serveur principal échoue.
- Cela peut se produire en raison de configurations DNS incorrectes, de pannes de serveur DNS ou de problèmes de mise en cache DNS.
- Lorsqu'un client envoie une demande au serveur proxy inverse, le serveur proxy inverse doit résoudre le nom de domaine du serveur principal en une adresse IP.
- Si la résolution DNS échoue, le serveur proxy inverse ne peut pas transmettre la demande au serveur principal, ce qui entraîne le renvoi d'une erreur 502 au client.
Lire : Qu'est-ce que le DNS ?
Restrictions du pare-feu
- Les restrictions de pare-feu peuvent provoquer une erreur 502 Bad Gateway dans Nginx lorsqu'un pare-feu bloque la connexion entre le serveur proxy inverse et le serveur principal.
- Cela peut se produire lorsque le pare-feu est configuré pour restreindre le trafic vers et depuis des adresses IP ou des ports spécifiques.
- Lorsque le serveur proxy inverse tente de se connecter au serveur principal, mais que le pare-feu bloque la connexion, il renvoie une erreur 502 au client.
- Cela se produit car le serveur proxy inverse agit comme un intermédiaire entre le client et le serveur principal et ne peut pas établir de connexion avec le serveur principal pour répondre à la demande du client.
- Pour résoudre les problèmes liés au pare-feu provoquant une erreur 502, vous devrez peut-être ajuster les règles du pare-feu pour permettre au trafic de circuler entre le proxy inverse et les serveurs principaux.
Bogues logiciels
- Une erreur 502 Bad Gateway peut se produire en raison d'un bogue logiciel ou d'une mauvaise configuration du serveur proxy inverse ou du serveur principal.
- Cette erreur peut se produire en raison d'erreurs de codage ou de mauvaises configurations de modules de serveur ou d'applications.
- Si le logiciel ou la configuration de l'un ou l'autre serveur contient un bogue, il peut ne pas traiter les demandes ou répondre dans le délai d'expiration, ce qui entraîne le renvoi d'une erreur 502 au client.
- Pour résoudre les problèmes liés au logiciel provoquant une erreur 502, vous devrez peut-être examiner les journaux du proxy inverse et des serveurs principaux pour identifier les erreurs ou les messages d'avertissement.
PHP-FMP met trop de temps à répondre
- PHP-FPM (FastCGI Process Manager) peut provoquer une erreur 502 Bad Gateway dans Nginx lorsqu'il ne répond pas dans le délai imparti ou rencontre une erreur critique.
- Cette erreur peut se produire en raison de ressources insuffisantes, d'une mauvaise configuration ou d'un bogue dans le code PHP.
- PHP-FPM est un moyen populaire d'exécuter des applications PHP dans Nginx, où Nginx envoie la demande à PHP-FPM et il traite le code PHP et renvoie le résultat à Nginx, qui renvoie ensuite la réponse au client.
- Pour résoudre les problèmes liés à PHP-FPM, vous devrez peut-être ajuster la configuration de PHP-FPM pour augmenter le nombre de processus ou de threads ou ajuster les paramètres de délai d'attente.
- Vous devrez peut-être également examiner le code PHP pour identifier et corriger les bogues ou les problèmes de performances.
- De plus, la surveillance des journaux du serveur et des ressources système peut aider à identifier les modèles ou les tendances qui pourraient indiquer un problème plus important avec PHP-FPM.
Lire : Comment réparer l'erreur de délai d'attente de la passerelle HTTP 504 ?
Comment réparer une mauvaise passerelle 502 Nginx ?
Voici quelques meilleures solutions que vous pouvez suivre pour corriger une erreur 502 Bad Gateway Nginx :
- Vérifier l'état de Nginx
- Vérifier l'état du serveur principal
- Vérifier la configuration DNS
- Vérifier la configuration du pare-feu
- Augmenter la taille du tampon
- Redémarrez le serveur Nginx
- Vérifier l'état de PHP-FPM
Vérifier l'état de Nginx
La première chose que vous devez faire est de vérifier si Nginx est en cours d'exécution et répond ou non aux requêtes. Pour ce faire, exécutez la commande suivante indiquée ci-dessous :
1 |
systemctl status nginx |
Si le Nginx est en cours d'exécution, vous obtiendrez un message de sortie quelque chose comme ceci,
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-10-11 10:25:41 UTC; 1 days ago
Docs: https://httpd.nginx.org/docs/2.4/
Si le Nginx ne fonctionne pas, vous obtiendrez un message de sortie quelque chose comme ceci,
nginx.service - The nginx HTTP Server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2022-10-11 10:25:41 UTC; 25s ago
Docs: https://httpd.nginx.org/docs/2.4/
Maintenant, au cas où le Nginx ne fonctionnerait pas, vous devez le redémarrer en utilisant la commande suivante,
systemctl start nginx
Vérifier l'état du serveur principal
- Connectez-vous au serveur proxy inverse qui héberge Nginx.
- Ouvrez une fenêtre de terminal et exécutez la commande suivante :
curl -I http://backend-server-ip-address/
• Remplacez « backend-server-ip-address » par l'adresse IP de votre serveur backend.
• Vérifiez le code d'état HTTP dans la sortie de la commande. Si le serveur principal fonctionne correctement, vous devriez voir un code d'état de 200 OK.
• Si vous recevez un code d'état autre que 200, cela indique qu'il peut y avoir un problème avec le serveur principal. Vous pouvez approfondir le problème en examinant les journaux du serveur principal pour identifier les erreurs ou les messages d'avertissement.
Vérifier la configuration DNS
Si la résolution DNS échoue, le serveur proxy inverse ne peut pas transmettre la demande au serveur principal, ce qui entraîne le renvoi d'une erreur 502 Bad Gateway au client. Par conséquent, il est important de vérifier que la configuration DNS du serveur principal est correcte.
Pour vérifier la configuration DNS, vous pouvez effectuer les étapes suivantes :
- Connectez-vous au serveur proxy inverse qui héberge Nginx.
- Ouvrez une fenêtre de terminal et exécutez la commande suivante :
nslookup backend-server-domain-name
Remplacez "backend-server-domain-name" par le nom de domaine de votre serveur backend.
• Vérifiez la sortie de la commande pour vérifier que l'adresse IP correcte est renvoyée pour le serveur principal.
- Si la sortie de la commande indique que la résolution DNS a échoué, il peut y avoir un problème avec la configuration DNS. Vous pouvez approfondir le problème en vérifiant les paramètres DNS du nom de domaine du serveur principal ou en contactant votre fournisseur DNS pour obtenir de l'aide.
Vérifier la configuration du pare-feu
Il est conseillé de vérifier les journaux du pare-feu pour un blocage inhabituel. Parfois, les pare-feu empêchent ou bloquent également les sites. Pour surmonter ce problème, vous devez désactiver temporairement vos pare-feu et vérifier si le problème persiste ou est résolu.
Augmenter la taille du tampon
L'augmentation de la taille de la mémoire tampon permet à Nginx de stocker plus de données à partir de la réponse du serveur, garantissant ainsi que la réponse est complète et sans erreur. Pour augmenter la taille de la mémoire tampon, vous devez modifier le fichier de configuration Nginx et ajouter les directives suivantes.
-
proxy_buffer_size
: définit la taille de chaque tampon. La valeur par défaut est généralement 4K. Vous pouvez l'augmenter à une valeur supérieure en fonction des exigences de votre serveur. Par exemple, pour définir la taille du tampon sur 16 Ko, ajoutez la ligne suivante à votre fichier de configuration :
proxy_buffer_size 16k;
-
proxy_buffers
: définit le nombre de tampons à allouer. La valeur par défaut est généralement 8. Vous pouvez l'augmenter à une valeur supérieure en fonction des exigences de votre serveur. Par exemple, pour définir le nombre de tampons sur 32 et la taille du tampon sur 16 Ko, ajoutez la ligne suivante à votre fichier de configuration :
proxy_buffers 32 16k;
Remarque : Il est important de noter que l'augmentation de la taille et du nombre de tampons augmentera l'utilisation de la mémoire sur le serveur. Par conséquent, vous devez expérimenter différentes tailles de tampon et numéros de tampon pour trouver le paramètre optimal pour votre serveur et votre application.
- Après avoir apporté des modifications au fichier de configuration Nginx, enregistrez le fichier et redémarrez Nginx pour que les modifications prennent effet. Vous pouvez le faire en exécutant la commande suivante :
sudo service nginx restart
Redémarrez le serveur Nginx
Dans certains cas, le simple redémarrage du serveur Nginx peut résoudre l'erreur 502 bad gateway Nginx. Pour faire ça,
Vous devez exécuter une commande dans votre terminal ou votre shell. La commande exacte dépend du système d'exploitation et de la distribution que vous utilisez, mais voici quelques exemples :
- Ubuntu et Debian :
sudo service nginx restart
- CentOS, Fedora et RHEL :
sudo systemctl restart nginx
- mac OS :
sudo nginx -s reload
Ces commandes redémarreront correctement le serveur Nginx, ce qui signifie qu'il attendra que toutes les connexions actives se terminent avant de s'arrêter et de redémarrer.
Vérifier l'état de PHP-FPM
Parfois, l'erreur 502 Bad Gateway Nginx peut également être déclenchée par le fait que PHP-FPM ne fonctionne pas. Par conséquent, il est nécessaire de vérifier l'état de PHP-FPM pour s'assurer qu'il fonctionne correctement.
Pour vérifier l'état de fonctionnement, vous pouvez utiliser la commande suivante,
sudo service php-fpm status
Si PHP-FPM est en cours d'exécution, vous devriez voir un message indiquant qu'il est actif.
Cependant, si PHP-FPM n'est pas en cours d'exécution, vous pouvez essayer de le redémarrer à l'aide de la commande suivante :
sudo service php-fpm restart
Cette commande redémarrera le service PHP-FPM, ce qui peut aider à résoudre tout problème susceptible de déclencher une erreur 502 bad gateway Nginx.
Résumé
Une erreur 502 Bad Gateway Nginx est une erreur courante que les utilisateurs de Nginx peuvent rencontrer. Cela est généralement causé par des problèmes de connectivité, une surcharge du serveur, des problèmes DNS, des restrictions de pare-feu ou des bogues logiciels.
Cependant, en suivant les étapes décrites dans cet article, vous pouvez dépanner et résoudre une erreur 502 bad gateway nginx.
Si aucune des méthodes ci-dessus n'a fonctionné pour vous, malheureusement, envisagez de demander l'aide des forums Nginx ou d'un consultant Nginx hautement expérimenté et qualifié.
Si vous avez des conseils ou des suggestions concernant l'erreur 502 Bad Gateway Nginx que nous avons peut-être manquées dans cet article ou si vous souhaitez partager votre expérience avec celle-ci, veuillez nous en informer dans la section des commentaires ci-dessous. Nous apprécions votre contribution.
Lire : Comment réparer l'erreur de serveur interne HTTP 500 dans WordPress ?
Questions fréquemment posées
Comment réparer 502 Bad gateway nginx ?
Vous pouvez corriger l'erreur 502 Bad Gateway nginx en suivant les méthodes ci-dessous :
1. Vérifiez l'état de Nginx
2. Vérifiez l'état du serveur principal
3. Vérifiez la configuration DNS
4. Vérifiez la configuration du pare-feu
5. Augmentez la taille du tampon
6. Redémarrez le serveur Nginx
7. Vérifier les statistiques PHP-FPM
Comment vérifier mon statut nginx ?
Pour vérifier l'état de nginx, exécutez la commande suivante indiquée ci-dessous :
statut systemctl nginx
La sortie indiquera si le nginx est en cours d'exécution ou non.
Qu'est-ce qu'une erreur de passerelle 502 Bad ?
Une erreur 502 Bad Gateway Nginx est un code d'état HTTP qui représente un serveur agissant comme une passerelle ou un serveur proxy qui ne reçoit pas de réponse valide d'un serveur en amont.