Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 14033|Svar: 0

Alibaba Cloud SLB Load Balancing-løsning for 502 Bad Gateway Gateway-fejl

[Kopier link]
Opslået på 13/08/2019 14.42.43 | | | |
Jeg har brugt Alibaba Cloud SLB load balancer i mere end 5 år, og jeg har brugt den siden den indledende interne beta af Alibaba Cloud, og efter implementeringen opstod følgende fejl:



502 Dårlig Gateway

Fejl opstår med mellemrum, efter første opstart er der ingen 502 gateway-fejl, efter at have ventet et minut dukker fejlen op, backend Windows Server IIS-containeren ASP.NET hjemmeside.

Klik på IIS fra serveren for at åbne browseren, du kan browse normalt, SLB load balancing indirekte problemer, det er første gang, jeg støder på det.

Opløsning:

Problemet optræder hovedsageligt i indstillingerne for "Health Check Method", standardindstillingerne er som følger:



Backend-sundhedstjekket anmodes i hovedet, og hvis den tilsvarende statuskode returnerer 2xx eller 3xx, betragtes backend-serveren som normal.

Vi forsøgte at lave en header-anmodning på tre måder: For det første kørte jeg direkte det lokale projekt og testede det lokalt.

Test 1:

Brug postbudstesten som vist nedenfor:



Hvis vi vender tilbage til 404 Not Found-tilstanden, faktisk ved vi her, hvad der forårsagede det.

Test 2:

Brug curl-test som vist nedenfor:

Windows (64-bit) download ved hjælp af curl-kommandoen med værktøjet
https://www.itsvse.com/thread-3409-1-1.html
(Kilde: 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 Ikke fundet
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



Der returneres også en 404-statuskode.

Test 3:

Denne gang testede vi direkte på den officielle server, gennem curl-testen under PowerShell, som vist i figuren nedenfor:



Du kan se, at den samme side anmodes om via hovedet,Nogle gange vender de tilbage404Statuskode, nogle gange returneret200Statuskode, hvilket bekræfter de intermitterende 502-fejl, vi stødte på i starten.

Hvad får asp.net til periodisk at returnere 404- og 200-statuskoder?

Da vores hjemmeside har en cache, vil brugeren bruge get-metoden til at anmode om hjemmesiden blive cachet korrekt, og derefter vil head og get altid returnere den cachede side og også returnere 200-svarkoden; hvis ingen bruger laver en get-metode-anmodning, kun head-metode-anmodningen via kommandoen, vil der opstå en 404-fejl efter cachen. Det anslås, at få mennesker vil støde på denne slags problemer.

Løsningen er at tjekke alle responsstatuskoder i sundhedskontroltilstanden, som vist i figuren nedenfor:



Sådan fejlsøger du unormale sundhedstjek i lag 7 lytning (HTTP/HTTPS):Hyperlink-login er synlig.

(Slut)




Tidligere:Overvejelser ved brug af Amazon AWS CloudFront
Næste:Dag 76 i Shenzhen
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com