Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14033|Svare: 0

Alibaba Cloud SLB lastbalanseringsløsning for 502 Bad Gateway Gateway-feil

[Kopier lenke]
Publisert på 13.08.2019 14:42:43 | | | |
Jeg har brukt Alibaba Cloud SLB lastbalanserer i mer enn 5 år, og jeg har brukt den siden den første interne betaen av Alibaba Cloud, og etter utrulling oppsto følgende feil:



502 Dårlig Gateway

Feil oppstår sporadisk, etter første oppstart er det ingen 502-gateway-feil, etter å ha ventet et minutt, oppstår feilen, backend Windows Server IIS-containeren ASP.NET nettsiden.

Klikk på IIS fra serveren for å åpne nettleseren, du kan bla normalt, SLB lastbalanserer indirekte problemer, dette er første gang jeg har støtt på det.

Løsning:

Problemet dukker hovedsakelig opp i "Health Check Method"-innstillingene, standardinnstillingene er som følger:



Backend-helsesjekken forespørres i headway, og hvis den tilsvarende statuskoden returnerer 2xx eller 3xx, regnes backend-serveren som normal.

Vi prøvde å sende en header-forespørsel på tre måter: Først kjørte jeg det lokale prosjektet direkte og testet det lokalt.

Prøve 1:

Bruk postbudtesten som vist nedenfor:



Tilbake til 404 Not Found-tilstanden, faktisk vet vi her hva som forårsaket det.

Test 2:

Bruk krølltesting som vist nedenfor:

Windows (64-bit) last ned ved hjelp av curl-kommandoen med verktøyet
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 funnet
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



Også returnert er en 404-statuskode.

Prøve 3:

Denne gangen testet vi direkte på den offisielle serveren, gjennom curl-testen under PowerShell, som vist i figuren under:



Du kan se at samme side er forespurt gjennom hodet,Noen ganger kommer de tilbake404Statuskode, noen ganger returnert200Statuskode, og bekrefter dermed de sporadiske 502-feilene vi støtte på i starten.

Hva forårsaker at asp.net periodisk returnerer 404- og 200-statuskoder?

Siden hjemmesiden vår har en cache, vil siden bli cachet når brukeren bruker get-metoden for å be om hjemmesiden, og deretter vil head og get alltid returnere den bufrede siden, og også returnere 200-svarkoden. Hvis ingen bruker gjør en get-metodeforespørsel etter at cachen utløper, kun head-metodeforespørselen via kommandoen, vil en 404-feil oppstå. Det anslås at få vil møte denne typen problemer.

Løsningen er å sjekke alle responsstatuskoder i helsesjekkmodus, som vist i figuren nedenfor:



Hvordan feilsøke helsesjekkavvik i lag 7-lytting (HTTP/HTTPS):Innloggingen med hyperkoblingen er synlig.

(Slutt)




Foregående:Vurderinger ved bruk av Amazon AWS CloudFront
Neste:Dag 76 i Shenzhen
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com