Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14033|Répondre: 0

Solution d’équilibrage de charge Alibaba Cloud SLB pour une erreur de passerelle 502

[Copié le lien]
Publié sur 13/08/2019 14:42:43 | | | |
J’utilise l’équilibreur de charge Alibaba Cloud SLB depuis plus de 5 ans, et je l’utilise depuis la bêta interne initiale d’Alibaba Cloud, et après le déploiement, l’erreur suivante s’est produite :



502 Bad Gateway

Les erreurs surviennent de façon intermittente, après le démarrage initial, il n’y a pas d’erreur de passerelle 502 ; après une minute d’attente, l’erreur apparaît, le conteneur Windows Server IIS ASP.NET site web.

Cliquez sur IIS depuis le serveur pour ouvrir le navigateur, vous pouvez naviguer normalement, problèmes indirects d’équilibrage de charge SLB, c’est la première fois que je rencontre ça.

Solution:

Le problème apparaît principalement dans les paramètres « Méthode de contrôle de santé », les paramètres par défaut sont les suivants :



La vérification de l’état du backend est demandée en avance, et si le code d’état correspondant retourne 2xx ou 3xx, le serveur backend est considéré comme normal.

Nous avons essayé de faire une requête d’en-tête de trois façons : d’abord, j’ai lancé directement le projet local et l’ai testé localement.

Test 1 :

Utilisez le test du facteur comme montré ci-dessous :



En revenant à l’état 404 Non Trouvé, en fait, ici, nous savons ce qui l’a causé.

Test 2 :

Utilisez le test de curl comme montré ci-dessous :

Windows (64 bits) télécharge-le en utilisant la commande curl avec l’outil
https://www.itsvse.com/thread-3409-1-1.html
(Source : Architect_Programmer)
C:\Users\itsvse>curl -i -X HEAD http://localhost:60155/
Warning: Setting custom HTTP method to HEAD with -X/--request may not work the
Warning: way you want. Consider using -I/--head instead.
HTTP/1.1 404 Non trouvé
Cache-Control: private
Content-Length: 4432
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdFxteVxDb2RlU2hhcmluZ1xDb2RlU2hhcmluZy5XZWJVSVxIb21lXEVycm9yNDA0?=
X-Powered-By: ASP.NET
Date: Tue, 13 Aug 2019 03:53:04 GMT

curl: (56) Recv failure: Connection was reset



Un code de statut 404 est également revenu.

Test 3 :

Cette fois, nous avons testé directement sur le serveur officiel, via le test de curl sous PowerShell, comme montré dans la figure ci-dessous :



Vous pouvez voir que la même page est demandée via l’entrée,Parfois retour404code de statut, parfois retourné200Code de statut, confirmant ainsi les erreurs intermittentes 502 que nous avons rencontrées au début.

Qu’est-ce qui asp.net fait renvoyer intermittemment les codes de statut 404 et 200 ?

Comme notre page d’accueil possède un cache, lorsque l’utilisateur utilise la méthode get pour demander la page d’accueil, la page sera mise en cache avec succès, puis la tête et le get retourneront toujours la page mise en cache, et retourneront également le code de réponse 200 ; si, après l’expiration du cache, aucun utilisateur ne fait de requête de la méthode get, seule la requête de la méthode tête via la commande, une erreur 404 se produira. On estime que peu de personnes rencontreront ce genre de problème.

La solution consiste à vérifier tous les codes d’état de réponse en mode contrôle de santé, comme montré dans la figure ci-dessous :



Comment dépanner les anomalies de la vérification de santé de l’écoute de couche 7 (HTTP/HTTPS) :La connexion hyperlientérée est visible.

(Fin)




Précédent:Considérations pour l’utilisation d’Amazon AWS CloudFront
Prochain:Jour 76 à Shenzhen
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com