Ein 504 Gateway-Timeout-Fehler ist ein HTTP response status code
, der angibt, dass ein Server, der derzeit als Gateway oder Proxy fungiert, keine rechtzeitige Antwort von einem anderen Server weiter stromaufwärts erhalten hat. Wie bei den meisten HTTP-Antwortcodes, die auf einen solchen Fehler hinweisen, kann es schwierig sein, die genaue Ursache für eine 504 Gateway Timeout Error
., Es gibt Dutzende möglicher HTTP-Statuscodes, die verwendet werden, um die komplexe Beziehung zwischen dem Client, einer Webanwendung, einem Webserver und häufig mehreren Webdiensten von Drittanbietern darzustellen, sodass die Bestimmung der Ursache eines bestimmten Statuscodes selbst unter den besten Umständen eine Herausforderung sein kann.
In diesem Artikel werden wir die 504 Gateway Timeout Error
untersuchen, indem wir uns einige Tipps zur Fehlerbehebung und mögliche Korrekturen für häufige Probleme ansehen, die dieses Problem verursachen könnten.,
Das Problem ist serverseitig
Alle HTTP-Antwortstatuscodes in der Kategorie 5xx
gelten als server error responses
. Ähnlich dem 502 Bad Gateway Error
, das wir uns in der Vergangenheit angesehen haben, zeigt eine 504 Gateway Timeout Error
an, dass etwas mit einem gateway
oder proxy
Server, der weiter stromaufwärts liegt, schief gelaufen ist. Im Allgemeinen ist ein upstream server
ein Server, der einen Dienst für einen anderen Server bereitstellt (dh auf den zugegriffen wird)., Somit befindet sich ein Server, der Upstream ist, in der gesamten Serverhierarchie höher als ein Server, der downstream
. Eine andere Möglichkeit, upstream gegenüber Downstream zu betrachten, ist ihre relative Nähe zu Ihrem Gerät (dh die client
) — je größer die Anzahl der Hops ist, die zum Übertragen von Daten von Ihrem Client auf den betreffenden Server erforderlich sind, desto weiter upstream
Dieser Server befindet sich.,
Da die 504 Gateway Timeout Error
angibt, dass innerhalb der server
Ihrer Anwendung etwas schief gelaufen ist, können wir die client
– Seite weitgehend ignorieren. Wenn Sie versuchen, ein Problem mit Ihrer eigenen Anwendung zu diagnostizieren, können Sie die meisten clientseitigen Codes und Komponenten wie HTML, Cascading Style Sheets (CSS), clientseitiges JavaScript usw. sofort ignorieren. Dies gilt auch nicht nur für Websites., Viele Smartphone-Apps mit einer modern aussehenden Benutzeroberfläche werden tatsächlich von einer normalen Webanwendung hinter den Kulissen betrieben.eine, die dem Benutzer einfach verborgen ist. Wenn Sie eine solche Anwendung verwenden und eine 504 Gateway Timeout Error
auftritt, hängt das Problem nicht mit der auf Ihrem Telefon oder lokalen Testgerät installierten App zusammen. Stattdessen wird es etwas auf der Serverseite sein, das den größten Teil der Logik und Verarbeitung hinter den Kulissen außerhalb des Bereichs der lokalen Schnittstelle durchführt, der dem Benutzer präsentiert wird.,
Das heißt, es ist nicht unbedingt der Fall, dass die spezifische web server
, auf der Ihre Anwendung ausgeführt wird, die Ursache des Problems ist. Stattdessen ist es durchaus möglich, dass jeder Aspekt Ihrer speziellen Anwendung (zusammen mit ihren Servern) einwandfrei funktioniert, aber ein 504 Gateway Timeout Error
kann immer noch auftreten, wenn ein Upstream-Server Probleme hat.
Beginnen Sie mit einer gründlichen Anwendungssicherung
Wie bei allem, es ist besser, es sicher am Anfang gespielt zu haben, als etwas zu vermasseln und kommen es später auf der Straße zu bereuen., Daher ist es wichtig, dass Sie eine vollständige Sicherung Ihrer Anwendung, Datenbank usw. durchführen, bevor Sie Korrekturen oder Änderungen am System vornehmen. Noch besser ist es, wenn Sie über die Möglichkeit verfügen, eine vollständige Kopie der Anwendung auf einem sekundären staging
– Server zu erstellen, der nicht „live“ ist oder anderweitig aktiv und für die Öffentlichkeit verfügbar ist. Dies gibt Ihnen einen sauberen Testplatz, mit dem Sie alle möglichen Korrekturen testen können, um das Problem zu beheben, ohne die Sicherheit oder Heiligkeit Ihrer Live-Anwendung zu gefährden.,
Diagnose eines 504-Gateway-Timeout-Fehlers
Wie bereits erwähnt, bedeutet ein 504 Gateway Timeout Error
, dass ein Server, der upstream
zu einem Server ist, mit dem Sie (die client
) eine Verbindung herstellen, keine „rechtzeitige“ Antwort von einem anderen Server weiter stromaufwärts erhalten hat. In diesem Szenario zeigt dies an, dass der Server, der die 504 Gateway Timeout Error
bereitstellt, als gateway
, also nehmen wir uns einen Moment Zeit zu diskutieren, was ein Gateway (oder Proxy) ist., In den meisten HTTP-Kommunikationen stellt eine client
über einen Drittanbieter-Computer gateway
eine Verbindung zu einem server
her. Das Gateway fungiert auch als Gateway, über das Nachrichten von der client
sicher an die server
gesendet werden können und umgekehrt. A gateway
fungiert als node
innerhalb des größeren Netzwerknetzwerks und verbindet und leitet die Kommunikation zwischen mehreren client
, server
und anderen Knotentypen in der (virtuellen) Umgebung.,
Ob Sie es glauben oder nicht, die meisten Häuser mit Internetzugang haben sogar ein aktives Gateway. Ihr lokales Heimnetzwerk, das wahrscheinlich über einen Router (oder Router+Modem-Hybrid) eingerichtet wird, weist in der Regel allen Geräten in Ihrem Netzwerk IP-Adressen unter Verwendung der Basisadresse 192.168.1.*
zu, wobei sich das Sternchen je nach Gerät ändert., In den meisten Fällen ist die Kommunikation von einer solchen lokalen Netzwerkadresse zu einer anderen lokalen Netzwerkadresse zulässig, aber wenn Ihr Computer versucht, eine Verbindung zu einer IP-Adresse außerhalb dieses Basisbereichs herzustellen, wird die gateway
Ihres Routers sie abfangen und die Kommunikation zwischen Ihrem Computer und dem Remote-Server in Ihrem Namen durchführen.
In einigen Situationen kann der Webserver, auf dem Ihre Anwendung ausgeführt wird, die Ursache für das Problem sein., Dies gilt insbesondere, wenn auf Ihrem Server entweder eine Kombination aus Frontend+Backend-Server-Setup (wie Nginx und Apache) ausgeführt wird oder der Webserver auf Diensten von Drittanbietern angewiesen ist, die sich normalerweise an anderer Stelle auf zusätzlichen Upstream-Servern befinden. Jeder der Upstream-Server, über den Ihr Client (Webbrowser) eine Verbindung herstellt, ist zu diesem Zeitpunkt möglicherweise ausgefallen oder es treten Probleme auf, die zu einer Verzögerung der Verarbeitung führen und zu der 504 Gateway Timeout Error
Sie sehen.
Vor allem Google ist dein Freund., Haben Sie keine Angst, nach bestimmten Begriffen zu suchen, die sich auf Ihr Problem beziehen, z. B. dem Namen des CMS oder der Webserver-Software Ihrer Anwendung, zusammen mit 504 Gateway Timeout Error
. Wahrscheinlich finden Sie andere, die dieses Problem erlebt haben und möglicherweise eine Lösung erhalten haben.,
Fehlerbehebung auf der Serverseite
Hier sind einige zusätzliche Tipps, die Ihnen bei der Fehlerbehebung helfen, was dazu führen kann, dass die 504 Gateway Timeout Error
auf der Serverseite der Dinge angezeigt wird:
-
Recent DNS Changes
-Das Domänennamensystem (DNS
) ist ein dezentrales Benennungssystem für Geräte, die über ein Netzwerk verbunden sind (auch ein massives Netzwerk, wie das Internet selbst). Kurz gesagt, dieDNS
ordnet Domänennamen zu (z.,airbrake.io
) an bestimmte IP-Adressen und speichert diese Zuordnung in einer Reihe von autorisierenden Nameserver auf der ganzen Welt verteilt. Wenn Sie also Ihren Computer auffordern, eine Verbindung zuairbrake.io
herzustellen, überprüft Ihr Computer tatsächlich mit einem nahe gelegenenDNS
name server um herauszufinden, mit welcher IP-Adresse (Internetressource) eine Verbindung hergestellt werden soll. Aus Ihrer Sicht geht es direkt zuairbrake.io
, aber hinter den Kulissen wird der Datenverkehr an eine IP-Adresse weitergeleitet (in diesem Fall52.203.232.56
)., Folglich kann Ihre Anwendung eine504 Gateway Timeout Error
wenn Ihre Site kürzlich Änderungen an ihrem DNS-Server vorgenommen hat, was auf das Ändern von Hostservern oder das Verschieben der Site auf eine andere IP-Adresse zurückzuführen ist. Solche DNS-Änderungen, bekannt alsDNS propagation
, sind nicht sofort und können manchmal einige Stunden dauern, um sich auf allen maßgeblichen Nameserver zu verbreiten., -
Server Connectivity Issues
– Obwohl es einfach klingen mag, ist es durchaus möglich, dass eine504 Gateway Timeout Error
einfach anzeigt, dass ein Server irgendwo in der Kette aus irgendeinem Grund nicht erreichbar oder nicht erreichbar ist. Die meisten modernen Anwendungen befinden sich nicht auf einem einzigen Server, sondern können stattdessen auf mehrere Systeme verteilt sein oder sogar auf viele Dienste von Drittanbietern angewiesen sein. Wenn einer dieser Server für die Wartung nicht verfügbar oder anderweitig nicht zugänglich ist, kann dies zu einem Fehler führen, der aus Ihrer eigenen Anwendung stammt., - – Eine Firewall ist ein grundlegendes Sicherheitsgerät, das den Netzwerkverkehr überwacht und als Gatekeeper fungiert und entscheidet, welcher Datenverkehr sicher ist und welcher böswillig sein könnte. In den meisten Fällen wird der gesamte potenziell schädliche Datenverkehr gestoppt (und kann zur Verwendung als Netzwerkadministrator protokolliert werden). In einigen Situationen ist es durchaus möglich, dass eine Firewall, die irgendwo in dem Netzwerk konfiguriert ist, in dem Ihre Anwendung ausgeführt wird, verhindert, dass kritischer Datenverkehr durchkommt., Dies gilt insbesondere für Anwendungen, die auf Content Delivery Networks (
CDNs
) angewiesen sind, die als Drittanbieter-Host für „schwere“ Inhalte wie Bilder oder Videos fungieren und diese Inhalte hosten im Namen Ihrer Anwendung, damit Ihre Anwendung ihre Geschwindigkeit und Effizienz beibehalten kann. Automatische Firewall-Dienste können jedoch manchmal falsch positive Ergebnisse erzielen, indem sie vollkommen sichere und gültige Inhalte von CDNs oder anderswo als böswillig verwechseln, wodurch dieser Inhaltsstrom sofort abgeschaltet wird, was zu einer504 Gateway Timeout Error
., -
Check the Logs
– Fast jede Webanwendung führt serverseitige Protokolle.Application logs
sind in der Regel der Verlauf der Anwendung, z. B. welche Seiten angefordert wurden, mit welchen Servern sie verbunden ist, welche Datenbankergebnisse sie bereitstellt usw.Server logs
beziehen sich auf die tatsächliche Hardware, auf der die Anwendung ausgeführt wird, und geben häufig Details zum Zustand und Status aller verbundenen Dienste oder sogar nur des Servers selbst an., Google „protokolliert“, wenn Sie ein CMS verwenden, oder „protokolliert“ und „protokolliert“, wenn Sie eine benutzerdefinierte Anwendung ausführen, um weitere Informationen zum Auffinden der betreffenden Protokolle zu erhalten. -
Application Code or Script Bugs
– Wenn alles andere fehlschlägt, kann es sein, dass ein Problem in einem benutzerdefinierten Code in Ihrer Anwendung das Problem verursacht. Versuchen Sie zu diagnostizieren, woher das Problem kommen könnte, indem Sie Ihre Anwendung manuell debuggen und Anwendungs-und Serverprotokolle analysieren., Erstellen Sie im Idealfall eine Kopie der gesamten Anwendung auf einem lokalen Entwicklungscomputer und führen Sie einen schrittweisen Debug-Prozess durch, mit dem Sie das genaue Szenario neu erstellen können, in dem die504 Gateway Timeout Error
aufgetreten ist, und zeigen Sie den Anwendungscode an, sobald etwas schief geht.
Unabhängig von der Ursache ist das Auftreten einer 504 Gateway Timeout Error
aus Ihrer eigenen Webanwendung ein starker Hinweis darauf, dass Sie möglicherweise ein Fehlerverwaltungstool benötigen, mit dem Sie diese und andere Fehler in Zukunft automatisch erkennen können., Solche Mechanismen können Sie und Ihr Team sogar sofort alarmieren, wenn ein Fehler auftritt. Die Fehlerüberwachungssoftware von Airbrake bietet Echtzeit-Fehlerüberwachung und automatische Ausnahmeberichterstattung für alle Ihre Entwicklungsprojekte. Das hochmoderne Web-Dashboard von Airbrake stellt sicher, dass Sie rund um die Uhr Statusaktualisierungen über den Zustand und die Fehlerraten Ihrer Anwendung erhalten. Egal woran Sie gerade arbeiten, Airbrake lässt sich problemlos in alle gängigen Sprachen und Frameworks integrieren., Außerdem erleichtert Airbrake das Anpassen von Ausnahmeparametern und gibt Ihnen gleichzeitig die vollständige Kontrolle über das aktive Fehlerfiltersystem, sodass Sie nur die wichtigsten Fehler erfassen.
Schauen Sie sich noch heute die Fehlerüberwachungssoftware von Airbrake an und überzeugen Sie sich selbst, warum so viele der weltweit besten Engineering-Teams Airbrake verwenden, um ihre Ausnahmebehandlungspraktiken zu revolutionieren!