Dépannage des problèmes HTTP d'équilibreur de charge

En savoir plus sur les problèmes HTTP associés aux équilibreurs de charge.

Erreur HTTP 400 de demande incorrecte liée à un en-tête ou à un cookie

Une solution possible consiste à augmenter la taille de l'en-tête de demande HTTP sur l'équilibreur de charge. Par défaut, la limite de taille est de 8 ko. En la définissant sur 64 ko, vous résolvez le problème. Cette solution est prise en charge uniquement pour HTTP. Vous pouvez créer une règle pour augmenter la taille de l'en-tête HTTP afin de remédier au problème. Il existe également une règle permettant de gérer les caractères spéciaux dans le nom d'en-tête, qui peuvent également entraîner des échecs similaires.

Pour plus d'informations, reportez-vous à Règles d'en-tête HTTP.

Erreurs HTTP 502 - Passerelle incorrecte

En plus de la surveillance et de la gestion, la journalisation de l'équilibrage de charge vous aide à identifier, à isoler et à résoudre les problèmes liés à l'infrastructure de l'équilibreur de charge. La procédure suivante explique comment résoudre une erreur 502 Bad Gateway rencontrée lors du déploiement d'une nouvelle application Web, example.com. L'exemple utilise un équilibreur de charge public Oracle Cloud Infrastructure comme composant frontal dans un environnement de développement. La tâche échoue avec une erreur 502 Bad Gateway sur le navigateur. Résolvez le problème à l'aide des journaux d'accès et d'erreurs de l'équilibreur de charge, comme suit :

  1. Vérifiez l'existence de l'erreur à l'aide de l'utilitaire curl, comme suit :
    curl -v http://example.com
    > GET / HTTP/1.1
    > Host: 192.0.2.99
    > User-Agent: curl/7.54.0
    > Accept: */*
    >
    < HTTP/1.1 502 Bad Gateway
    < Content-Type: text/html
    < Content-Length: 161
    < Connection: keep-alive
  2. Recherchez "lbStatusCode" et "backendStatusCode" dans les journaux d'accès et d'erreurs de l'équilibreur de charge.
    • Si les résultats incluent backendStatusCode: 502 :

      Causes possibles : :

      • Le problème vient d'un back-end configuré de façon incorrecte.
      • Le back-end est probablement un autre proxy inverse ou équilibreur de charge.

      Résolutions possibles :

      • Examinez les journaux de proxy en amont pour déterminer pourquoi l'erreur 502 est renvoyée.
      • Résolvez tous les problèmes sur le back-end final qui entraînent le renvoi d'une erreur 502 par la proxy en amont.
    • Si les résultats incluent backendStatusCode: 504 :

      Causes possibles : :

      • Lorsqu'une erreur 504 se produit à partir du back-end, elle indique généralement que celui-ci est un autre proxy ou instance de service d'équilibreur de charge. L'erreur se produit normalement lorsqu'un proxy ne peut pas se connecter à un serveur en amont dans un laps de temps spécifié.
      • Examinez les journaux du système en amont pour déterminer ce qui cause le problème de connexion du proxy en amont au back-end.

      Résolutions possibles :

      • Augmentez le délai de connexion avant expiration.
      • Recherchez la raison pour laquelle le back-end met plus de temps à répondre que d'habitude, à l'aide d'un utilitaire (comme tcpdump) et d'outils d'application intégrés.
    • Si les résultats incluent backendStatusCode: 500 :
      Causes possibles : :
      • Lorsqu'une erreur 500 se produit à partir du back-end, elle indique généralement une erreur côté serveur, communément appelée "Erreur de serveur interne". Ce sont généralement les applications back-end qui provoquent cette erreur.
      • La connexion aux ressources en amont, telles que les bases de données, les API et les services, est impossible.

      Résolutions possibles :

      Résolvez le problème à l'origine de l'erreur, au niveau de l'application.

    • Si les résultats incluent backendStatusCode: sans code d'erreur :
      • En général, lorsqu'aucun code de statut de back-end n'accompagne lbStatusCode: 502, aucun back-end n'est disponible pour envoyer les connexions.
      • Vous pouvez également remarquer un message No healthy backends available in associated backendSet dans les journaux d'erreurs de l'équilibreur de charge.
      • Assurez-vous que les back-ends sont en bon état. Si les back-ends sont en bon état, veillez à ce que la vérification de l'état soit correctement configurée.

HTTP 504

L'erreur HTTP 504 indique généralement que le serveur back-end est utilisé en tant qu'autre proxy ou instance de service d'équilibreur de charge. Cette erreur survient généralement lorsqu'un proxy ne parvient pas à se connecter à un serveur en amont dans un laps de temps spécifié. Examinez les journaux du système en amont pour déterminer ce qui cause le problème de connexion du proxy en amont au serveur back-end.

Les solutions suivantes sont possibles :

  • Augmentez le délai de connexion avant expiration.

  • Recherchez la raison pour laquelle le serveur back-end met plus de temps à répondre que d'habitude, à l'aide d'un utilitaire (comme tcpdump) et d'outils d'application intégrés.

Pour plus d'informations, reportez-vous à Erreurs HTTP 502 - Passerelle incorrecte.