Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 14033|Odpowiedź: 0

Rozwiązanie do równoważenia obciążenia Alibaba Cloud SLB dla błędu błędnej bramy bramowej 502

[Skopiuj link]
Opublikowano 13.08.2019 14:42:43 | | | |
Używam Alibaba Cloud SLB load balancer od ponad 5 lat i korzystam z niego od początkowej wewnętrznej bety Alibaba Cloud, a po wdrożeniu pojawił się następujący błąd:



502 Zła Brama

Błędy pojawiają się sporadycznie, po początkowym uruchomieniu nie ma błędu bramy 502, po chwili pojawia się błąd, kontener Windows Server IIS ASP.NET stronie internetowej.

Kliknij IIS z serwera, aby otworzyć przeglądarkę, możesz normalnie przeglądać, SLB z pośrednim problemem z równoważeniem obciążenia, to pierwszy raz, kiedy się z tym spotkałem.

Rozwiązanie:

Problem pojawia się głównie w ustawieniach "Health Check Method", domyślne są następujące:



Kontrola stanu backendu jest zlecana w trakcie przebiegu, a jeśli odpowiadający kod statusu zwraca 2xx lub 3xx, serwer backendu jest uznawany za normalny.

Próbowaliśmy wykonać żądanie nagłówka na trzy sposoby: najpierw bezpośrednio uruchomiłem lokalny projekt i przetestowałem go lokalnie.

Test 1:

Użyj testu listonosza, jak pokazano poniżej:



Wracając do stanu 404 Not Found, tutaj wiemy, co to spowodowało.

Test 2:

Stosuj testy uginania, jak pokazano poniżej:

Pobieranie z Windows (64-bit) za pomocą polecenia curl w tym narzędziu
https://www.itsvse.com/thread-3409-1-1.html
(Źródło: 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 Nie znaleziono
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



Zwrócono także kod statusu 404.

Test 3:

Tym razem testowaliśmy bezpośrednio na oficjalnym serwerze, poprzez test curl w PowerShell, jak pokazano na poniższym rysunku:



Widać, że ta sama strona jest proszona przez nagłówek,Czasem wracają404Kod statusu, czasem zwracany200Kod statusu, co potwierdza przerywane błędy 502, które napotkaliśmy na początku.

Co powoduje, że asp.net przerywanie zwracają kody statusu 404 i 200?

Ponieważ nasza strona główna ma pamięć podręczną, gdy użytkownik użyje metody get do żądania strony głównej, strona zostanie pomyślnie zbuforowana, a następnie head and get zawsze zwraca stronę z pamięci podręcznej oraz zwraca kod odpowiedzi 200; jeśli po wygaśnięciu pamięci podręcznej żaden użytkownik nie wykona żądania metody get, a jedynie żądanie metody head przez polecenie, wystąpi błąd 404. Szacuje się, że niewiele osób spotka się z takim problemem.

Rozwiązaniem jest sprawdzenie wszystkich kodów statusu odpowiedzi w trybie kontroli stanu, jak pokazano na poniższym rysunku:



Jak rozwiązać problemy z nieprawidłowościami w sprawdzaniu nasłuchu warstwy 7 (HTTP/HTTPS):Logowanie do linku jest widoczne.

(Koniec)




Poprzedni:Uwagi dotyczące korzystania z Amazon AWS CloudFront
Następny:Dzień 76 w Shenzhen
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com