504

Gateway Timeout

Offiziell
Der übergeordnete Server antwortete nicht zeitnah

Allgemeine Erklärung des 504-Statuscodes

Der HTTP-Fehler 504 Gateway Timeout tritt auf, wenn ein Server versucht, eine Anfrage von einem Client zu beantworten, aber nicht in der Lage ist, dies innerhalb einer angemessenen Zeitspanne zu tun. Dieser Fehler wird normalerweise als "Gateway Timeout" bezeichnet, da er oft auftritt, wenn ein Proxy-Server oder ein Gateway, der zwischen dem Client und dem Server vermittelt, nicht in der Lage ist, eine Verbindung herzustellen oder eine Antwort vom Server zu erhalten. Dies kann verschiedene Gründe haben, wie z.B. Überlastung des Servers, Netzwerkprobleme oder unzureichende Konfiguration des Proxies oder Gateways.

Spezifikation von dem HTTP statuscode 504

Der Statuscode 504 Gateway Timeout zeigt an, dass der Server, der als Gateway oder Proxy fungiert, keine rechtzeitige Antwort von einem vorgelagerten Server erhalten hat, auf den er zugreifen musste, um die Anfrage abzuschließen.

Quelle / Zitat von: Spezifiziert wird der 504 Gateway Timeout HTTP Status Code durch Abschnitt 6.6.5 von RFC7231

Wie kann man mit PHP einen 504-Statuscode werfen?

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

Teste den 504 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 504 Gateway Timeout) 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 504 Gateway Timeout
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 504 Gateway Timeout

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

Es gibt verschiedene mögliche Gründe, warum ein HTTP-Fehler 504 Gateway Timeout "Gateway Timeout" auftreten kann, wie z.B.:

  1. Serverüberlastung: Wenn ein Server zu viele Anfragen erhält und nicht in der Lage ist, sie innerhalb einer angemessenen Zeit zu beantworten, kann ein Timeout-Fehler auftreten. Dies kann durch Skalierung des Servers oder durch Hinzufügen von Ressourcen wie CPU, RAM oder Speicher behoben werden.
  2. Netzwerkprobleme: Ein Timeout-Fehler kann auch auftreten, wenn es Probleme mit der Netzwerkverbindung zwischen dem Client und dem Server gibt. Dies kann durch Überprüfen der Netzwerkverbindung, Überprüfen von Router- oder Firewall-Konfigurationen oder Neustarten von Netzwerkkomponenten behoben werden.
  3. Probleme mit Proxies oder Gateways: Ein Gateway oder Proxy, der zwischen dem Client und dem Server vermittelt, kann ebenfalls zu einem Timeout-Fehler führen. Dies kann durch Überprüfen und Anpassen der Proxy- oder Gateway-Einstellungen behoben werden.
  4. Langsame Anwendung oder Datenbank: Wenn eine Anwendung oder Datenbank langsam läuft, kann dies auch zu einem Timeout-Fehler führen. Dies kann durch Optimierung der Anwendung oder der Datenbank behoben werden.

Um das Problem zu lösen, können folgende Maßnahmen ergriffen werden:

  1. Überprüfen Sie den Serverstatus und stellen Sie sicher, dass er nicht überlastet ist.
  2. Überprüfen Sie die Netzwerkverbindung und stellen Sie sicher, dass sie stabil und zuverlässig ist.
  3. Überprüfen Sie die Konfiguration von Proxies oder Gateways und passen Sie sie bei Bedarf an.
  4. Optimieren Sie die Anwendung oder Datenbank, um ihre Leistung zu verbessern.
  5. Neustarten von Netzwerkkomponenten oder Servern kann auch helfen, das Problem zu beheben.

In vielen Fällen kann das Problem durch eine Kombination dieser Maßnahmen behoben werden.

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

Eine eigene 504 Gateway Timeout 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 504 Gateway Timeout Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

NGINX Webserver

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

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

Browser-Kompatibilität des 504 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.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout
Autor: Tony Brüser
Autor: Tony Brüser

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

LinkedInGitHub