Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 14033|Antwort: 0

Alibaba Cloud SLB Lastverteilungslösung für 502 Bad Gateway Gateway-Fehler

[Link kopieren]
Veröffentlicht am 13.08.2019 14:42:43 | | | |
Ich benutze den Alibaba Cloud SLB Load Balancer seit über 5 Jahren und seit der ersten internen Alibaba Cloud Beta, und nach der Bereitstellung trat folgender Fehler auf:



502 Bad Gateway

Fehler treten intermittierend auf, Nach dem initialen Start gibt es keinen 502-Gateway-Fehler, nach einer Minute Warten erscheint der Fehler, der Backend-Container Windows Server IIS ASP.NET Website.

Klicke auf IIS vom Server aus, um den Browser zu öffnen, du kannst normal surfen, SLB-Lastverteilungsprobleme – das ist das erste Mal, dass ich darauf stoße.

Lösung:

Das Problem tritt hauptsächlich in den Einstellungen "Gesundheitsprüfungsmethode" auf, die Standardeinstellungen sind wie folgt:



Die Backend-Gesundheitsprüfung wird direkt angefordert, und wenn der entsprechende Statuscode 2xx oder 3xx zurückgibt, gilt der Backend-Server als normal.

Wir haben versucht, eine Header-Anfrage auf drei Arten zu stellen: Erstens habe ich das lokale Projekt direkt geleitet und es lokal getestet.

Test 1:

Verwenden Sie den Postboten-Test wie unten gezeigt:



Zurück zum 404 Not Found-Zustand: Hier wissen wir, was die Ursache war.

Test 2:

Verwenden Sie den Curl-Test wie unten gezeigt:

Windows (64-Bit) lädt mit dem Curl-Befehl mit dem Tool herunter
https://www.itsvse.com/thread-3409-1-1.html
(Quelle: 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 Nicht gefunden
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



Ebenfalls zurückgegeben wird ein 404-Statuscode.

Test 3:

Diesmal haben wir direkt auf dem offiziellen Server getestet, durch den Curl-Test unter PowerShell, wie in der untenstehenden Abbildung gezeigt:



Sie sehen über den Kopf, dass dieselbe Seite angefordert wird,Manchmal kehren sie zurück404Statuscode, manchmal zurückgegeben200Statuscode, was die intermittierenden 502-Fehler bestätigte, die wir zu Beginn hatten.

Was verursacht, dass asp.net immer wieder 404- und 200-Statuscodes zurückgeben?

Da unsere Startseite einen Cache hat, wird die Seite erfolgreich gecachet, wenn der Benutzer die Get-Methode verwendet, um die Startseite anzufordern, und dann geben Head und Get immer die zwischengespeicherte Seite zurück und geben auch den 200-Antwort-Code zurück. Wenn nach dem Ablauf des Caches kein Benutzer eine Get-Method-Anfrage stellt, sondern nur die Head-Method-Anfrage über den Befehl, tritt ein 404-Fehler auf. Es wird geschätzt, dass nur wenige Menschen auf diese Art von Problem stoßen werden.

Die Lösung besteht darin, alle Antwort-Statuscodes im Gesundheitskontrollmodus zu überprüfen, wie in der untenstehenden Abbildung gezeigt:



Wie man Anomalien der Gesundheitsprüfungen bei Layer-7-Listening (HTTP/HTTPS) behebt:Der Hyperlink-Login ist sichtbar.

(Ende)




Vorhergehend:Überlegungen zur Nutzung von Amazon AWS CloudFront
Nächster:Tag 76 in Shenzhen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com