Udostępnij za pośrednictwem


Rozwiązywanie problemów z błędami HTTP "Zła brama 502" i "Usługa 503 jest niedostępna" w usłudze aplikacja systemu Azure

"Zła brama 502" i "Usługa 503 jest niedostępna" to typowe błędy w aplikacji hostowanej w usłudze aplikacja systemu Azure Service. Ten artykuł ułatwia rozwiązywanie problemów z tymi błędami.

Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, możesz skontaktować się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie można również zgłosić zdarzenie pomoc techniczna platformy Azure. Przejdź do witryny pomocy technicznej platformy Azure i kliknij pozycję Uzyskaj pomoc techniczną.

Objaw

Podczas przeglądania aplikacji zwraca błąd HTTP "502 Bad Gateway" lub błąd HTTP "503 Service Unavailable" (Usługa 503 jest niedostępna).

Przyczyna

Ten problem jest często spowodowany problemami na poziomie aplikacji, takimi jak:

  • długi czas wykonywania żądań,
  • wysokie wykorzystanie pamięci/procesora przez aplikację,
  • awaria aplikacji z powodu wyjątku.

Kroki rozwiązywania problemów z błędami "Zła brama 502" i "Usługa 503 jest niedostępna"

Rozwiązywanie problemów można podzielić na trzy odrębne zadania w kolejności sekwencyjnej:

  1. Obserwowanie i monitorowanie zachowania aplikacji
  2. Zbieranie danych
  3. Eliminowanie problemu

Usługa App Service oferuje różne opcje w każdym kroku.

1. Obserwowanie i monitorowanie zachowania aplikacji

Śledzenie Kondycja usługi

Platforma Microsoft Azure jest uruchamiana za każdym razem, gdy występuje przerwa w działaniu usługi lub obniżenie wydajności. Kondycję usługi można śledzić w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Śledzenie kondycji usługi.

Monitorowanie aplikacji

Ta opcja umożliwia sprawdzanie, czy aplikacja ma jakiekolwiek problemy. W bloku aplikacji kliknij kafelek Żądania i błędy . W bloku Metryka zostaną wyświetlone wszystkie metryki, które można dodać.

Niektóre metryki, które mogą być monitorowane dla aplikacji, to

  • Średni zestaw roboczy pamięci
  • Średni czas odpowiedzi
  • Czas procesora CPU
  • Zestaw roboczy pamięci
  • Żądania

monitorowanie aplikacji pod kątem rozwiązywania problemów z błędami HTTP 502 — nieprawidłowa brama i usługa 503 — niedostępna

Aby uzyskać więcej informacji, zobacz:

2. Zbieranie danych

Korzystanie z narzędzia diagnostycznego

Usługa App Service udostępnia inteligentne i interaktywne środowisko ułatwiające rozwiązywanie problemów z aplikacją bez konieczności konfigurowania. Gdy wystąpią problemy z aplikacją, narzędzie diagnostyczne wskaże, co jest złe, aby ułatwić i szybko rozwiązać problem.

Aby uzyskać dostęp do diagnostyki usługi App Service, przejdź do aplikacji usługi App Service lub środowiska App Service Environment w witrynie Azure Portal. W obszarze nawigacji po lewej stronie kliknij pozycję Diagnozuj i rozwiąż problemy.

Korzystanie z konsoli debugowania Kudu

Usługa App Service zawiera konsolę debugowania, której można użyć do debugowania, eksplorowania, przekazywania plików oraz punktów końcowych JSON w celu uzyskania informacji o środowisku. Jest to nazywane konsolą Kudu lub pulpitem nawigacyjnym SCM dla aplikacji.

Dostęp do tego pulpitu nawigacyjnego można uzyskać, przechodząc do linku https:// Nazwa aplikacji.scm.azurewebsites.net/>.<

Oto niektóre z rzeczy, które zapewnia Kudu:

  • ustawienia środowiska dla aplikacji
  • strumień dziennika
  • zrzut diagnostyczny
  • konsola debugowania, w której można uruchamiać polecenia cmdlet programu PowerShell i podstawowe polecenia DOS.

Inną przydatną funkcją kudu jest to, że w przypadku, gdy aplikacja zgłasza wyjątki pierwszej szansy, można użyć narzędzia Kudu i narzędzia SysInternals Procdump do utworzenia zrzutów pamięci. Te zrzuty pamięci to migawki procesu i często mogą pomóc w rozwiązywaniu bardziej skomplikowanych problemów z aplikacją.

Aby uzyskać więcej informacji na temat funkcji dostępnych w usłudze Kudu, zobacz Azure Websites online tools you should know about (Narzędzia online usługi Azure Websites, o których warto wiedzieć).

3. Eliminowanie problemu

Wykonaj skalowanie aplikacji

W usłudze aplikacja systemu Azure w celu zwiększenia wydajności i przepływności można dostosować skalę, w której działa aplikacja. Skalowanie aplikacji w górę obejmuje dwie powiązane akcje: zmianę planu usługi App Service na wyższą warstwę cenową i skonfigurowanie pewnych ustawień po przełączeniu się do wyższej warstwy cenowej.

Aby uzyskać więcej informacji na temat skalowania, zobacz Skalowanie aplikacji w usłudze aplikacja systemu Azure Service.

Ponadto możesz uruchomić aplikację w więcej niż jednym wystąpieniu . Zapewnia to nie tylko większą możliwość przetwarzania, ale także zapewnia pewną odporność na uszkodzenia. Jeśli proces ulegnie awarii w jednym wystąpieniu, drugie wystąpienie będzie nadal obsługiwać żądania.

Skalowanie można ustawić na Wartość Ręczna lub Automatyczna.

Użyj AutoHeal

Automatyczne odtwarzanie procesu roboczego dla aplikacji na podstawie wybranych ustawień (takich jak zmiany konfiguracji, żądania, limity oparte na pamięci lub czas potrzebny do wykonania żądania). W większości przypadków odtwarzanie procesu jest najszybszym sposobem na odzyskanie sprawności po problemie. Mimo że zawsze możesz ponownie uruchomić aplikację bezpośrednio w witrynie Azure Portal, autoheal wykona ją automatycznie. Wystarczy dodać niektóre wyzwalacze w katalogu głównym web.config aplikacji. Należy pamiętać, że te ustawienia będą działać w taki sam sposób, nawet jeśli aplikacja nie jest platformą .NET.

Aby uzyskać więcej informacji, zobacz Autonaprawiania witryn internetowych platformy Azure.

Ponownie uruchom aplikację

Jest to często najprostszy sposób odzyskiwania po jednorazowych problemach. W witrynie Azure Portal w bloku aplikacji dostępne są opcje zatrzymania lub ponownego uruchomienia aplikacji.

uruchom ponownie aplikację, aby rozwiązać błędy HTTP nieprawidłowej bramy 502 i usługi 503 są niedostępne

Aplikację można również zarządzać przy użyciu programu Azure PowerShell. Aby uzyskać więcej informacji, zobacz temat Using Azure PowerShell with Azure Resource Manager (Używanie programu Azure PowerShell z usługą Azure Resource Manager).