Pourquoi est-ce que je reçois une erreur HTTP 5xx lorsque je me connecte à des serveurs Web qui s'exécutent sur des instances EC2 configurées pour utiliser Classic Load Balancing ?

Lecture de 3 minute(s)
0

J'ai reçu un message d'erreur HTTP 502, 503 ou 504 lorsque j'ai essayé de me connecter à des serveurs Web. Les serveurs Web s'exécutent sur des instances EC2 configurées pour utiliser Classic Load Balancing.

Résolution

HTTP 502 (Passerelle incorrecte)

Vous pouvez recevoir une erreur HTTP 502 si un Classic Load Balancer ne parvient pas à analyser un message. Le serveur Web ou les serveurs d'applications principaux associés qui s'exécutent sur des instances EC2 renvoient un message qu'un Classic Load Balancer ne peut pas analyser. Pour plus d'informations, voir Comment résoudre les erreurs HTTP 502 lorsque j'effectue des requêtes via un Classic Load Balancer ?

HTTP 503 (Service non disponible)

Les erreurs HTTP 503 se produisent pour les raisons suivantes :

  • La file d'attente d'urgence est pleine. Consultez la métrique SpillOvercount pour vérifier que vos instances ont la capacité de gérer le taux de requêtes.
  • Il n'y a aucune instance saine. Assurez-vous que vous disposez d'instances saines dans chaque zone de disponibilité auxquelles votre équilibreur de charge répond. Pour ce faire, consultez la métrique HealthyHostCount. Pour plus d'informations, voir Résoudre les problèmes liés à un équilibreur de charge classique : surveillances de l’état.
  • Vous n'avez pas enregistré au moins une instance dans chaque zone de disponibilité dans laquelle votre équilibreur de charge répond. Si vous ne pouvez pas confirmer qu'une instance est enregistrée dans chaque zone de disponibilité, activez l'équilibrage de charge entre zones.
  • Le drainage de la connexion n'est pas activée pour le Classic Load Balancer auprès duquel les instances de votre serveur Web sont enregistrées.

Pour plus d'informations, voir Comment résoudre les erreurs HTTP 503 renvoyées lors de l'utilisation de Classic Load Balancer ?

HTTP 504 (délai d'expiration de la passerelle)

Les erreurs HTTP 504 se produisent pour les raisons suivantes :

  • Les instances de serveur Web ou les instances de serveur d'applications dorsales sont occupées et ne peuvent pas répondre aux demandes dans le délai d'inactivité d'Elastic Load Balancing (ELB) configuré. Pour plus d'informations, voir Comment résoudre les problèmes de latence élevée sur mon ELB Classic Load Balancer ?
  • Les instances de serveur Web ou les instances de serveur d'applications principal interrompent les connexions avant que l'équilibreur de charge ne le fasse. Cela entraîne des ruptures de connexion prématurées.
  • Les instances de serveur Web ou les instances de serveur d'applications principal bloquent ou redémarrent les processus du serveur lorsque les demandes sont en cours d'exécution. Cela entraîne l'interruption de toutes les connexions par le serveur.
  • L'option AcceptFilter http/https est activée sur les instances du serveur Web Apache. Cela demande à Apache d'implémenter le protocole TCP_DEFER_ACCEPT sur les connexions.
  • Le MPM event (depuis le site Web Apache) est activé pour les instances du serveur Web Apache, mais les MPM prefork et worker (depuis le site Web Apache) ne sont pas configurés de manière optimale. Le délai d'inactivité ELB par défaut est de 60 secondes. Pour plus d'informations, voir Quels sont les paramètres optimaux pour utiliser Apache ou NGINX comme serveur principal pour ELB ?

Pour plus d'informations, voir Comment résoudre les erreurs HTTP 504 renvoyées lors de l'utilisation d'un Classic Load Balancer ?

Informations connexes

Qu'est-ce qu'Elastic Load Balancing ?

Tutoriel : Création d'un Classic Load Balancer

Configurez les surveillances de l’état de votre Classic Load Balancer

Surveillez votre Classic Load Balancer

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois