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 :
- 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
- 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.
- Lorsqu'une erreur
- 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.
- Lorsqu'une erreur
- 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.
- En général, lorsqu'aucun code de statut de back-end n'accompagne
- Si les résultats incluent
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.