Problembehandlung bei HTTP-Fehler „502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“ in Azure App Service

„502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“ sind häufige Fehler in Ihrer App, die in Azure App Service gehostet wird. Dieser Artikel hilft Ihnen, diese Fehler zu beheben.

Wenn Sie beim Lesen dieses Artikels feststellen, dass Sie weitere Hilfe benötigen, können Sie Ihre Frage im MSDN Azure-Forum oder im Stack Overflow-Forumstellen, um dort Hilfe von Azure-Experten zu erhalten. Alternativ dazu haben Sie die Möglichkeit, einen Azure-Supportfall zu erstellen. Rufen Sie die Azure-Support-Website auf, und klicken Sie auf Support erhalten.

Symptom

Beim Aufrufen der App wird ein HTTP-Fehler „502 Ungültiges Gateway“ oder „503 Dienst nicht verfügbar“ zurückgegeben.

Ursache

Diese Fehler sind häufig auf Probleme auf der Anwendungsebene zurückzuführen, z. B.:

  • Anforderungen, die sehr lange dauern
  • Eine Anwendung mit hoher Speicher-/CPU-Auslastung
  • Eine Anwendung, die aufgrund einer Ausnahme abstürzt

Schritte zur Behebung der Fehler „502 Ungültiges Gateway“ und „503 Dienst nicht verfügbar“

Die Problembehandlung lässt sich in diesem Fall in drei unterschiedliche Aufgaben unterteilen, die nacheinander ausgeführt werden:

  1. Beobachten und Überwachen des Anwendungsverhaltens
  2. Sammeln von Daten
  3. Minimieren der Auswirkungen des Problems

App Service bietet Ihnen bei jedem Schritt verschiedene Optionen.

1. Beobachten und Überwachen des Anwendungsverhaltens

Nachverfolgen der Dienstintegrität

Microsoft Azure informiert jeweils aktuell über Dienstunterbrechungen oder Leistungsbeeinträchtigungen. Sie können die Integrität des Diensts im Azure-Portalnachverfolgen. Weitere Informationen finden Sie unter Nachverfolgen der Dienstintegrität.

Überwachen Ihrer App

Durch das Überwachen der Web-App können Sie herausfinden, ob in Ihrer Anwendung Probleme vorliegen. Klicken Sie auf dem Blatt Ihrer App auf die Kachel Anforderungen und Fehler. Auf dem Blatt Metrik werden alle Metriken angezeigt, die Sie hinzufügen können.

Sie können beispielsweise die folgenden Metriken für Ihre App überwachen:

  • Durchschnittlicher Arbeitssatz für Arbeitsspeicher
  • Durchschnittliche Reaktionszeit
  • CPU-Zeit
  • Arbeitssatz für Arbeitsspeicher
  • Requests

monitor app towards solving HTTP errors of 502 bad gateway and 503 service unavailable

Weitere Informationen finden Sie unter:

2. Sammeln von Daten

Verwenden des Diagnosetools

App Service stellt eine intelligente und interaktive Komponente bereit, mit der Sie eine Problembehandlung für Ihre App durchführen können, ohne dass eine Konfiguration erforderlich ist. Wenn bei Ihrer App Probleme auftreten, stellt das Diagnosetool Informationen zum Fehler bereit, damit Sie die richtigen Informationen finden, um das Problem einfacher und schneller behandeln und lösen zu können.

Navigieren Sie für den Zugriff auf die App Service-Diagnose zu Ihrer App Service-App oder App Service-Umgebung im Azure-Portal. Klicken Sie im linken Navigationsbereich auf Diagnose und Problembehandlung.

Verwenden der Kudu-Debugkonsole

App Service umfasst eine Debugkonsole zum Debuggen, Untersuchen und Hochladen von Dateien sowie JSON-Endpunkte zum Abrufen von Informationen über Ihre Umgebung. Dieses Feature wird als Kudu-Konsole oder SCM-Dashboard für Ihre App bezeichnet.

Sie können über den Link https://<Name_Ihrer_App>.scm.azurewebsites.net/ auf das Dashboard zugreifen.

Die Kudu-Konsole bietet z. B. folgende Funktionen:

  • Umgebungseinstellungen für Ihre Anwendung
  • Protokolldatenstrom
  • Speicherabbild zu Diagnosezwecken
  • Debugkonsole zum Ausführen von PowerShell-Cmdlets und grundlegenden DOS-Befehlen.

Eine weitere nützliche Funktion von Kudu ist die Möglichkeit, mithilfe von Kudu und dem SysInternals-Tool „Procdump“ Speicherabbilddateien zu erstellen, wenn Ihre Anwendung Ausnahmen (erste Chance) auslöst. Bei diesen Speicherabbilddateien handelt es sich um Momentaufnahmen des Prozesses, die beim Beheben komplizierterer Probleme mit Ihrer App hilfreich sein können.

Weitere Informationen zu den verfügbaren Funktionen in Kudu finden Sie unter Online-Tools für Azure-Websites, die Sie kennen sollten.

3. Minimieren der Auswirkungen des Problems

Skalieren der App

In Azure App Service können Sie zum Steigern der Leistung und des Durchsatzes die Skalierung anpassen, mit der Sie Ihre Anwendung ausführen. Für das zentrale Hochskalieren einer App sind zwei zueinander in Beziehung stehende Schritte erforderlich: Sie müssen für den App Service-Plan ein Upgrade auf einen höheren Tarif durchführen, und Sie müssen nach dem Tarifwechsel bestimmte Einstellungen konfigurieren.

Weitere Informationen zur Skalierung finden Sie unter Skalieren einer App in Azure App Service.

Außerdem haben Sie die Möglichkeit, Ihre Anwendung auf mehreren Instanzen auszuführen. Dies erhöht nicht nur die Verarbeitungskapazität, sondern bietet auch ein gewisses Maß an Fehlertoleranz. Wenn der Prozess in einer Instanz ausfällt, kann die andere Instanz weiterhin Anfragen verarbeiten.

Sie können die Skalierung auf „Manuell“ oder „Automatisch“ festlegen.

Verwenden von „AutoHeal“

„AutoHeal“ startet den Arbeitsprozess für Ihre App basierend auf von Ihnen ausgewählten Einstellungen neu (z. B. Konfigurationsänderungen, Anforderungen, speicherbasierte Grenzwerte oder zum Ausführen einer Anforderung benötigte Zeit). In den meisten Fällen ist das Neustarten des Prozesses die schnellste Methode zum Beheben eines Problems. Sie können die App zwar immer direkt im Azure-Portal neu starten, „AutoHeal“ führt diesen Schritt jedoch automatisch für Sie aus. Sie müssen lediglich einige Trigger in der Stammdatei „web.config“ Ihrer App hinzufügen. Beachten Sie, dass diese Einstellungen immer auf die gleiche Weise angewendet werden – auch dann, wenn es sich bei Ihrer Anwendung nicht um eine .NET-Anwendung handelt.

Weitere Informationen finden Sie unter Automatische Reparatur von Azure-Websites.

Neustarten der App

Dies ist oft die einfachste Methode zum Beheben einmaliger Probleme. Im Azure-Portal stehen auf dem Blatt Ihrer App Optionen zum Beenden oder Neustarten der App zur Verfügung.

restart app to solve HTTP errors of 502 bad gateway and 503 service unavailable

Sie können Ihre App auch mit Azure PowerShell verwalten. Weitere Informationen finden Sie unter Verwenden von Azure PowerShell mit dem Azure-Ressourcen-Manager.