Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14033|Odpoveď: 0

Alibaba Cloud SLB riešenie na vyvažovanie záťaže pre chybu 502 Gateway Gateway

[Kopírovať odkaz]
Zverejnené 13. 8. 2019 14:42:43 | | | |
Používam Alibaba Cloud SLB load balancer už viac ako 5 rokov a používam ho od počiatočnej internej bety Alibaba Cloud, a po nasadení sa objavila nasledujúca chyba:



502 Zlá brána

Chyby sa vyskytujú občas, po počiatočnom spustení nie je žiadna chyba brány 502, po minúte čakania sa chyba objaví, backend kontajner Windows Server IIS ASP.NET webovej stránke.

Kliknite na IIS zo servera, aby ste otvorili prehliadač, môžete prehliadať normálne, SLB problémy s vyvažovaním záťaže sú nepriame, je to prvýkrát, čo som sa s tým stretol.

Riešenie:

Problém sa hlavne objavuje v nastaveniach "Metóda kontroly zdravia", predvolené nastavenia sú nasledovné:



Backendová kontrola zdravia sa žiada priamo a ak príslušný stavový kód vráti 2xx alebo 3xx, backendový server sa považuje za normálny.

Snažili sme sa vytvoriť požiadavku na hlavičku tromi spôsobmi: najprv som priamo spustil lokálny projekt a otestoval ho lokálne.

Test 1:

Použite test poštára, ako je uvedené nižšie:



Ak sa vrátime k stavu 404 Not Found, tu vlastne vieme, čo to spôsobilo.

Test 2:

Použite curl testovanie, ako je uvedené nižšie:

Windows (64-bit) stiahnuť pomocou prí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 Nenájdené
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



Tiež je vrátený stavový kód 404.

Test 3:

Tentoraz sme testovali priamo na oficiálnom serveri, cez curl test pod PowerShellom, ako je znázornené na obrázku nižšie:



Vidíte, že tá istá stránka je požadovaná cez nadpis,Niekedy sa vracajú404Stavový kód, niekedy vracaný200Kód stavu, čím sa potvrdzujú prerušované chyby 502, s ktorými sme sa stretli na začiatku.

Čo spôsobuje asp.net že občas vracia stavové kódy 404 a 200?

Keďže naša domovská stránka má cache, keď používateľ použije metódu get na požiadanie o domovskú stránku, stránka sa úspešne uloží do vyrovnávacej pamäte, a potom head and get vždy vráti uloženú stránku a tiež vráti kód odpovede 200; ak po vypršaní cache žiadny používateľ nevykoná požiadavku metódy get, ale iba generálnu metódu cez príkaz, nastane chyba 404. Odhaduje sa, že s takýmto problémom sa stretne len málo ľudí.

Riešením je skontrolovať všetky kódy stavu odpovedí v režime kontroly zdravia, ako je znázornené na obrázku nižšie:



Ako riešiť abnormality pri kontrole stavu Layer 7 Listening (HTTP/HTTPS):Prihlásenie na hypertextový odkaz je viditeľné.

(Koniec)




Predchádzajúci:Úvahy pri používaní Amazon AWS CloudFront
Budúci:Deň 76 v Shenzhene
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com