502

Bad Gateway

Offiziell Unterstatus-Codes
der nachgelagerter Server lieferte eine Fehlermeldung

Spezifikation von dem HTTP statuscode 502

Der Statuscode 502 Bad Gateway zeigt an, dass der Server, der als Gateway oder Proxy fungiert, eine ungültige Antwort von einem eingehenden Server erhalten hat, auf den er beim Versuch, die Anfrage zu erfüllen, zugegriffen hat.

Quelle / Zitat von: Spezifiziert wird der 502 Bad Gateway HTTP Status Code durch Abschnitt 6.6.3 von RFC7231

Wie kann man mit PHP einen 502-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 502 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 502 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 502 Bad Gateway) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 502 Bad Gateway
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Status: 502 Bad Gateway
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 502 Bad Gateway

Wie löse ich das Problem mit dem 502 Statuscode?

Der HTTP-Statuscode 502 Bad Gateway wird normalerweise von einem Proxy-Server zurückgegeben, der als Vermittler zwischen dem Client (z. B. einem Webbrowser) und dem Server fungiert, mit dem der Client kommunizieren möchte. Der Fehler tritt auf, wenn der Proxy-Server eine ungültige Antwort von einem Upstream-Server erhält. Es gibt mehrere mögliche Ursachen für diesen Fehler, und ich werde im Folgenden auf einige der wahrscheinlichsten Probleme eingehen und erklären, wie du sie beheben kannst.

  • Überlasteter oder nicht erreichbarer Upstream-Server: Ein häufiger Grund für den HTTP-Statuscode 502 Bad Gateway ist, dass der Upstream-Server, zu dem der Proxy-Server eine Verbindung herstellt, überlastet ist oder nicht erreichbar ist. In diesem Fall solltest du sicherstellen, dass der Upstream-Server ordnungsgemäß funktioniert und genügend Ressourcen zur Verfügung hat, um die Anfragen zu verarbeiten. Überprüfe die Server-Logs und Netzwerkverbindungen, um festzustellen, ob es Probleme gibt. Wenn der Upstream-Server überlastet ist, kannst du möglicherweise die Last auf mehrere Server verteilen oder zusätzliche Ressourcen hinzufügen, um das Problem zu beheben.
  • Netzwerkprobleme: Ein weiteres mögliches Problem sind Netzwerkprobleme zwischen dem Proxy-Server und dem Upstream-Server. Dies kann eine instabile Verbindung, ein DNS-Problem oder eine Firewall-Einstellung sein, die die Kommunikation behindert. Überprüfe die Netzwerkeinstellungen, um sicherzustellen, dass alle erforderlichen Ports geöffnet sind und die Verbindung stabil ist. Teste auch die DNS-Auflösung, um sicherzustellen, dass der Upstream-Server ordnungsgemäß aufgelöst wird. In einigen Fällen kann es auch hilfreich sein, den Proxy-Server neu zu starten, um Netzwerkprobleme zu beheben.
  • Falsch konfigurierter Proxy-Server: Eine fehlerhafte Konfiguration des Proxy-Servers kann ebenfalls zu einem HTTP-Statuscode 502 Bad Gateway führen. Stelle sicher, dass die Proxy-Einstellungen korrekt sind und dass der Proxy-Server die Anfragen ordnungsgemäß an den Upstream-Server weiterleitet. Überprüfe die Proxy-Konfigurationsdateien und -einstellungen, um sicherzustellen, dass sie richtig sind. In einigen Fällen kann es auch hilfreich sein, den Proxy-Server zu aktualisieren oder auf eine andere Version umzusteigen, um bekannte Probleme zu beheben.
  • Fehlerhafte Anwendung auf dem Upstream-Server: Es ist auch möglich, dass der Upstream-Server eine fehlerhafte Anwendung oder Konfiguration hat, die zu einem HTTP-Statuscode 502 Bad Gateway führt. Überprüfe die Anwendungs- und Server-Logs, um nach möglichen Fehlern oder Ausnahmen zu suchen. Aktualisiere oder repariere die Anwendung, um bekannte Probleme zu beheben. Es kann auch hilfreich sein, mit einem Entwickler oder Systemadministrator zusammenzuarbeiten, um das Problem zu analysieren und zu lösen.
  • Probleme mit dem Proxy-Server selbst: Schließlich kann der HTTP-Statuscode 502 Bad Gateway auch durch Probleme mit dem Proxy-Server selbst verursacht werden. Dies kann auf Softwarefehler, fehlende Updates oder Hardwareprobleme zurückzuführen sein. Überprüfe die Proxy-Server-Logs auf Fehlermeldungen oder Warnungen. Aktualisiere den Proxy-Server auf die neueste Version und überprüfe, ob es bekannte Probleme gibt. In einigen Fällen kann es erforderlich sein, den Proxy-Server neu zu installieren oder auf eine alternative Softwarelösung umzusteigen, um das Problem zu beheben.

Es ist wichtig zu beachten, dass die Lösung des HTTP-Statuscodes 502 Bad Gateway stark von deiner spezifischen Umgebung und Konfiguration abhängt. Es kann hilfreich sein, mit einem erfahrenen Entwickler oder Systemadministrator zusammenzuarbeiten, um das Problem zu diagnostizieren und zu beheben.

Wie erstellt man eine eigene Fehlerseite für den Statuscode 502

Eine eigene 502 Bad Gateway Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 502 Bad Gateway Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: .htaccess
ErrorDocument 502 /errors/502.html

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 502 Bad Gateway Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: sites-enabled/default
error_page 502 /502.html;
location = /502.html {
    root /usr/share/nginx/html;
    internal;
}

Browser-Kompatibilität des 502 Statuscode

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstanten in Programmiersprachen

HttpStatusCode.BadGateway
http.StatusBadGateway
Response::HTTP_BAD_GATEWAY
httplib.BAD_GATEWAY
http.client.BAD_GATEWAY
http.HTTPStatus.BAD_GATEWAY
:bad_gateway

Unterstatuscodes des 502 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 502.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 502 wird dem User gesendet.:
502.1 CGI application timeout
HTTP IIS, Inoffiziell
502.2 Bad gateway: Premature Exit
HTTP IIS, Inoffiziell
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Inoffiziell
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Inoffiziell
502.5 WebSocket failure (ARR)
HTTP IIS, Inoffiziell
502.6 Forwarded request failure (ARR)
HTTP IIS, Inoffiziell
502.7 Execute request failure (ARR)
HTTP IIS, Inoffiziell
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub