Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14033|Odpověď: 0

Alibaba Cloud SLB řešení pro vyvažování zátěže pro chybu 502 gateway

[Kopírovat odkaz]
Zveřejněno 13.08.2019 14:42:43 | | | |
Používám Alibaba Cloud SLB load balancer více než 5 let a používám ho od počáteční interní bety Alibaba Cloud, a po nasazení se objevila následující chyba:



502 Špatná brána

Chyby se vyskytují občas, po prvním spuštění nedochází k chybě brány 502, po minutě se chyba objeví, backend Windows Server IIS kontejner ASP.NET webu.

Klikněte na IIS ze serveru a otevřete prohlížeč, můžete normálně prohlížet, SLB load balancing nepřímé problémy, je to poprvé, co jsem se s tím setkal.

Řešení:

Problém se objevuje hlavně v nastavení "Metoda kontroly zdraví", výchozí nastavení jsou následující:



Kontrola stavu backendu je vyžadována přímo v předem a pokud odpovídající stav vrátí 2xx nebo 3xx, backendový server je považován za normální.

Zkusili jsme vytvořit požadavek na hlavičku třemi způsoby, nejprve jsem přímo spustil lokální projekt a otestoval ho lokálně.

Test 1:

Použijte test pošťáka, jak je uvedeno níže:



Když se vrátíme ke stavu 404 Not Found, tady vlastně víme, co to způsobilo.

Test 2:

Použijte testování kudrlinek, jak je uvedeno níže:

Windows (64-bitové) ke stažení pomocí příkazu curl v tomto nástroji
https://www.itsvse.com/thread-3409-1-1.html
(Zdroj: 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 Nenalezeno
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



Také je vrácen stavový kód 404.

Test 3:

Tentokrát jsme testovali přímo na oficiálním serveru, pomocí curl testu v PowerShellu, jak je znázorněno na obrázku níže:



Vidíte, že stejná stránka je požadována přes nadpis,Někdy se vracejí404Stavový kód, někdy vracený200Kód stavu, čímž potvrzují přerušované chyby 502, na které jsme narazili na začátku.

Co způsobuje asp.net že občas vracejí stavové kódy 404 a 200?

Protože naše domovská stránka má cache, když uživatel použije metodu get k požadavku na domovskou stránku, stránka bude úspěšně uložena v cache, a pak head and get vždy vrátí cacheovanou stránku a také vrátí kód odpovědi 200; pokud po vypršení cache žádný uživatel neprovede požadavek na metodu get, pouze generace head příkazu, dojde k chybě 404. Odhaduje se, že s tímto problémem se setká jen málo lidí.

Řešením je zkontrolovat všechny kódy stavu odpovědí v režimu kontroly stavu, jak je znázorněno na obrázku níže:



Jak řešit abnormality kontroly zdraví při poslechu vrstvy 7 (HTTP/HTTPS):Přihlášení k hypertextovému odkazu je viditelné.

(Konec)




Předchozí:Úvahy při používání Amazon AWS CloudFront
Další:Den 76 v Shenzhenu
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com