Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14033|Svar: 0

Alibaba Cloud SLB lastbalanseringslösning för 502 dåligt gatewaygateway-fel

[Kopiera länk]
Publicerad på 2019-08-13 14:42:43 | | | |
Jag har använt Alibaba Cloud SLB lastbalanserare i mer än 5 år, och jag har använt den sedan den initiala interna betan av Alibaba Cloud, och efter implementeringen uppstod följande fel:



502 Dålig Gateway

Fel uppstår intermittent, efter att ha startat initialt finns inget 502-gatewayfel, efter att ha väntat en minut dyker felet upp, backend Windows Server IIS-containern ASP.NET webbplatsen.

Klicka på IIS från servern för att öppna webbläsaren, du kan bläddra normalt, SLB:s lastbalanseringsproblem indirekt, det är första gången jag stöter på det.

Lösning:

Problemet förekommer främst i inställningarna för "Health Check Method", standardinställningarna är följande:



Backend-hälsokontrollen begärs i huvudet, och om motsvarande statuskod returnerar 2xx eller 3xx anses backend-servern vara normal.

Vi försökte göra en header-förfrågan på tre sätt: först körde jag det lokala projektet direkt och testade det lokalt.

Test 1:

Använd postbudstestet som visas nedan:



Om vi återvänder till 404 Not Found-tillståndet, vet vi faktiskt vad som orsakade det.

Test 2:

Använd curl-testning enligt nedan:

Windows (64-bitars) ladda ner med curl-kommandot med verktyget
https://www.itsvse.com/thread-3409-1-1.html
(Källa: 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 hittades inte
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



Även en statuskod 404 återlämnas.

Test 3:

Den här gången testade vi direkt på den officiella servern, genom curl-testet under PowerShell, som visas i figuren nedan:



Du kan se att samma sida efterfrågas via huvudet,Ibland återvänder404Statuskod, ibland returnerad200Statuskod, vilket bekräftar de intermittenta 502-fel vi stötte på i början.

Vad orsakar att asp.net ibland returnerar 404- och 200-statuskoder?

Eftersom vår startsida har en cache, när användaren använder get-metoden för att begära startsidan, kommer sidan att cachelagras framgångsrikt, och sedan kommer head och get alltid att returnera den cachade sidan, och returnerar även 200-svarskoden, om ingen användare gör en get-metod-förfrågan efter att cachen har gått ut, endast head-metodförfrågan via kommandot, kommer ett 404-fel att inträffa. Det uppskattas att få människor kommer att stöta på denna typ av problem.

Lösningen är att kontrollera alla svarskoder i hälsokontrollläget, som visas i figuren nedan:



Hur man felsöker hälsokontroller vid Layer 7 Listening (HTTP/HTTPS):Inloggningen med hyperlänken är synlig.

(Slut)




Föregående:Överväganden för att använda Amazon AWS CloudFront
Nästa:Dag 76 i Shenzhen
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com