Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
La méthode HTTP (également appelée verbe) spécifie l'action à exécuter sur la ressource qui reçoit une demande HTTP. Les méthodes standard pour les demandes HTTP sont définies dans la section du RFC 2616 concernant les définitions de méthode
Les demandes et les réponses HTTP utilisent des champs d'en-tête pour envoyer des informations concernant les messages HTTP. Les champs d'en-tête sont des paires nom-valeur dont les noms et les valeurs sont séparés par un signe deux points, et qui sont séparées entre elles par un retour chariot (CR) et un saut de ligne (LF). Un ensemble standard de champs d'en-tête HTTP est défini dans la section du RFC 2616 concernant les en-têtes de message
Lorsqu'un équilibreur de charge reçoit une demande HTTP, il vérifie que cette dernière est correcte et contrôle la longueur de la méthode. La longueur totale de la méthode dans une demande HTTP vers un équilibreur de charge ne doit pas dépasser 127 caractères. Si la requête HTTP réussit les deux vérifications, l'équilibreur de charge envoie la demande à l' EC2 instance. Si le champ de méthode de la demande est incorrect, l'équilibreur de charge répond par une erreur HTTP 400 : BAD_REQUEST. Si la longueur de la méthode dans la demande dépasse 127 caractères, l'équilibreur de charge répond par une erreur HTTP 405 : METHOD_NOT_ALLOWED.
L' EC2 instance traite une demande valide en implémentant la méthode dans la demande et en renvoyant une réponse au client. Vos instances doivent être configurées pour traiter les méthodes prises en charge et non prises en charge.
Voici des messages d'erreur renvoyés par votre équilibreur de charge, les causes potentielles et les étapes que vous pouvez suivre pour résoudre les problèmes.
Messages d'erreur
HTTP 400 : BAD_REQUEST
Description : indique que le client a envoyé une demande incorrecte.
Cause 1 : le client a envoyé une demande incorrecte qui ne respecte pas les spécifications HTTP. Par exemple, une demande ne peut pas comporter d'espace dans l'URL.
Cause 2 : le client utilise la méthode HTTP CONNECT, qui n'est pas prise en charge par Elastic Load Balancing.
Solution : connectez-vous directement à votre instance et saisissez les détails de la demande du client. Vérifiez que les demandes sont correctes dans les en-têtes et l'URL. Vérifiez que la demande respecte les spécifications HTTP. Vérifiez que la méthode HTTP CONNECT n'est pas utilisés.
HTTP 405 : METHOD_NOT_ALLOWED
Description : indique que la longueur de la méthode n'est pas valide.
Cause : la longueur de la méthode dans l'en-tête de la demande dépasse 127 caractères.
Solution : vérifiez la longueur de la méthode.
HTTP 408 : Délai d'attente des demandes
Description : indique que le client a annulé la demande ou n'a pas pu envoyer une demande complète.
Cause 1 : une interruption du réseau ou une structure de demande incorrecte, comme des en-têtes partiellement formés, une taille de contenu spécifiée ne correspondant pas à la taille de contenu réelle transmise, etc.
Solution 1 : inspectez le code qui constitue la demande et essayez de l'envoyer directement à vos instances enregistrées (ou à un environnement de développement/test) où vous aurez plus de contrôle pour examiner la demande réelle.
Cause 2 : la connexion au client est fermée (l'équilibreur de charge n'a pas pu envoyer une réponse)
Solution 2 : vérifiez que le client ne ferme pas la connexion avant l'envoi d'une réponse en utilisant un renifleur de paquets sur la machine sur laquelle vous effectuez la demande.
HTTP 502 : Passerelle erronée
Description : indique que l'équilibreur de charge n'a pas pu analyser la réponse envoyée à partir d'une instance enregistrée.
Cause : réponse incorrecte d'une instance ou problème éventuel lié à l'équilibreur de charge.
Solution : vérifiez que la réponse envoyée à partir de l'instance est conforme aux spécifications HTTP. Accédez au Centre AWS Support
HTTP 503 : Service indisponible
Description : indique que l'équilibreur de charge ou les instances enregistrées sont à l'origine de l'erreur.
Cause 1 : capacité insuffisante dans l'équilibreur de charge pour traiter la demande.
Solution 1 : il doit s'agir d'un problème temporaire qui ne devrait pas durer plus de quelques minutes. Si le problème persiste, accédez au Centre AWS Support
Cause 2 : aucune instance n'est enregistrée.
Solution 2 : enregistrez au moins une instance dans chaque zone de disponibilité dans laquelle votre équilibreur de charge est configuré pour répondre. Vérifiez cela en consultant les HealthyHostCount
indicateurs contenus dans CloudWatch. Si vous ne pouvez pas vérifier qu'une instance est enregistrée dans chaque zone de disponibilité, nous vous recommandons d'activer l'équilibrage de charge entre zones. Pour de plus amples informations, veuillez consulter Configurer la répartition de charge entre zones pour votre Classic Load Balancer.
Cause 3 : il n'y a aucune instance saine.
Solution 3 : vérifiez que vous avez des instances saines dans chaque zone de disponibilité dans laquelle votre équilibreur de charge est configuré pour répondre. Vérifiez ceci en examinant la métrique HealthyHostCount
.
Cause 4 : la file d'attente des hausses est saturée.
Solution 4 : assurez-vous que vos instances ont une capacité suffisante pour gérer le taux de demandes. Vérifiez ceci en examinant la métrique SpilloverCount
.
HTTP 504 : Délai de passerelle expiré
Description : indique que l'équilibreur de charge a fermé une connexion parce qu'une demande ne s'est pas achevée avant la fin du délai d'inactivité.
Cause 1 : le délai de réponse de l'application est supérieur au délai d'inactivité configuré.
Solution 1 : surveillez les métriques HTTPCode_ELB_5XX
et Latency
. Si ces métriques augmentent, cela peut être dû au fait que l'application ne répond pas avant la fin du délai d'inactivité. Pour plus d'informations sur les demandes qui dépassent le délai imparti, activez les journaux d'accès sur l'équilibreur de charge et vérifiez les codes de réponse 504 dans les journaux générés par Elastic Load Balancing. Si nécessaire, vous pouvez augmenter votre capacité ou le délai d'inactivité configuré afin que les opérations longues (par exemple, le chargement d'un fichier volumineux) puissent se terminer. Pour plus d'informations, consultez Configurer le délai d'inactivité des connexions de votre Classic Load Balancer et Comment résoudre les problèmes de latence élevée liés à Elastic Load Balancing
Cause 2 : des instances enregistrées ferment la connexion à Elastic Load Balancing.
Solution 2 : activez les paramètres de maintien en vie sur vos EC2 instances et assurez-vous que le délai de conservation est supérieur aux paramètres de délai d'inactivité de votre équilibreur de charge.