Der Fehler 504 Gateway Timeout ist einer der häufigsten HTTP 5xx Fehler, mit denen Betreiber und Besucher von Webseiten konfrontiert werden. Für viele Blogs und E-Commerce-Plattformen ist es entscheidend zu wissen, wie man solche Serverfehler behebt, damit ihre hart verdienten Besucher nicht auf konkurrierende Webseiten abspringen.

Da der Fehler 504 Gateway Timeout dir nicht verrät, warum er aufgetreten ist, ist es schwierig, den Grund für den Server-Timeout herauszufinden. Dieser Artikel wird euch helfen, es im Detail zu verstehen, zu lernen, wie man seine Ursache diagnostizieren und dann beheben kann.

Nachdem du all die verschiedenen Lösungen ausprobiert hast, die im Beitrag erwähnt werden, sollte deine Webseite in kürzester Zeit wieder einsatzbereit sein.

Klingt interessant? Lass uns eintauchen!

Sieh dir unsere Videoanleitung zur Behebung des 504 Gateway Timeout-Fehlers auf deiner Seite an

Um es weiter zu vereinfachen: Dieser Fehler tritt auf, wenn zwei Server an der Bearbeitung einer Anfrage beteiligt sind. Der erste Server (in der Regel der Hauptserver) hat eine Zeitüberschreitung und wartet auf eine Antwort vom zweiten Server (Upstream-Server).

Fehlercode 504 Gateway Timeout Fehler
Fehlertyp Server-seitig
Fehlervariationen 504 Gateway Timeout
Timeout NGINX
NGINX 504 Gateway Timeout
Gateway Timeout Error
Fehler 504
HTTP-Fehler 504
HTTP-Fehler 504 — Gateway Timeout
HTTP 504
504 Fehler
Gateway Timeout (504)
Fehlerursachen Serverkonnektivitätsprobleme
Probleme mit der Netzwerkkonnektivität
DNS-Probleme
Firewall-Probleme

So funktioniert es: Jedes Mal, wenn du eine Website in deinem Browser besuchst, sendet der Browser eine Anfrage an den Webserver, auf dem die Seite gehostet wird. Der Server verarbeitet die Anfrage und antwortet mit den angeforderten Ressourcen.

Wie HTTP-Anfragen und -Antworten funktionieren
Wie HTTP-Anfragen und -Antworten funktionieren.

Die Serverantwort enthält einen von vielen HTTP-Statuscodes, um dem Browser den Status der Antwort anzuzeigen. Aber nicht alle diese HTTP-Statuscodes sind Fehler. Zum Beispiel bedeutet ein Statuscode 200 OK, dass der Server die Anfrage erfolgreich bearbeitet hat und „Alles in Ordnung ist“.

Die 5xx-Klasse der HTTP-Statuscodes zeigt an, dass etwas mit dem Server nicht in Ordnung ist, der Server ist sich dessen bewusst und kann die Client-Anfrage nicht ausführen. Infolgedessen werden sie auch als Server Error 5xx Statuscodes bezeichnet.

Offiziell werden unter der 5xx-Klasse fünf Statuscodes angegeben (500, 501, 502, 503, 504). Du kannst auch auf viele inoffizielle Codes stoßen (506, 507, 509, 520, etc.).

Der Fehler 504 Gateway Timeout manifestiert sich in verschiedenen Formen. Hier sind einige Möglichkeiten, wie er normalerweise auftritt:

Der 'HTTP FEHLER 504' im Chrome-Browser
Der ‚HTTP FEHLER 504‘ im Chrome-Browser.

Der Fehler 504 Gateway Timeout ist ähnlich wie der Fehler 502 Bad Gateway, der anzeigt, dass der erste Server eine ungültige Antwort vom zweiten Server (Upstream-Server) erhalten hat.

Der '504 GATEWAY TIMEOUT'-Statuscode in den Chrome DevTools
Der ‚504 GATEWAY TIMEOUT‘-Statuscode in den Chrome DevTools.

Variationen des 504 Gateway-Timeout-Fehlers.

Der Browser zeigt jeden 504 Gateway Timeout-Fehler in ihm an, genau wie jeden anderen Fehler. Da es eine Vielzahl von Betriebssystemen, Webservern, Browsern und User Agents gibt, kann es auf verschiedene Arten angezeigt werden.

Im Folgenden sind einige häufige 504-Fehlermeldungsvarianten aufgeführt, auf die du stoßen kannst:

  • 504 Gateway-Timeout (Zeitüberschreitung)
  • 504 Gateway Timeout NGINX
  • NGINX 504 Gateway Time Out
  • Gateway Zeitüberschreitungsfehler
  • Fehler 504
  • HTTP-Fehler 504
  • HTTP-Fehler 504 – Gateway-Timeout
  • HTTP 504
  • 504 Fehler
  • Gateway-Timeout (504)
  • Diese Seite funktioniert nicht – Domain brauchte zu lange zum Antworten
  • 504 Gateway Time-out – Der Server hat nicht rechtzeitig geantwortet
  • Die Seitenanfrage wurde abgebrochen, weil sie zu lange gedauert hat
  • Besucher der Seite: Es gab ein Problem bei der Bearbeitung Ihrer Anfrage, bitte versuchen Sie es in ein paar Minuten erneut.
  • Betreiber der Seite: Es gab eine Zeitüberschreitung am Gateway. Für weitere Informationen sollten Sie Ihr Fehlerprotokoll einsehen.
  • Ein leerer weißer Bildschirm
  • Die Seitenanfrage wurde abgebrochen, weil sie zu lange gedauert hat
  • Besucher der Seite: Es gab ein Problem bei der Bearbeitung deiner Anfrage, bitte versuche es in ein paar Minuten noch einmal
  • Betreiber der Seite: Es gab eine Zeitüberschreitung des Gateways. Du solltest dein Fehlerprotokoll für weitere Informationen einsehen

Alle obigen Fehlerantworten, auch wenn sie unterschiedlich formuliert sind, deuten auf denselben 504 Gateway Serverfehler hin.

Webserver und Webseiten können anpassen, wie sie den Fehler 504 Gateway den Benutzern anzeigen. Einige von ihnen können cool sein! Es ist eine ausgezeichnete Taktik, um die Enttäuschung ihrer Besucher zu unterdrücken.

GitHub's angepasste HTTP 504-Fehlerseite
GitHub’s angepasste HTTP 504-Fehlerseite.

Was sind die Ursachen für den 504 Gateway Timeout Fehler?

Da der 504-Fehler auf eine Zeitüberschreitung zwischen den Servern zurückzuführen ist, liegt das Problem wahrscheinlich nicht am Gerät des Kunden oder an seiner Internetverbindung. Das gilt auch für dein Gerät und deine Verbindung.

Ein 504-Gateway-Timeout-Fehler zeigt an, dass der Webserver zu lange auf eine Antwort von einem anderen Server wartet und eine „Zeitüberschreitung“ verursacht. Für diese Zeitüberschreitung kann es viele Gründe geben: Der andere Server funktioniert nicht richtig, ist überlastet oder ausgefallen.

Der andere Server muss nicht immer extern sein (z. B. CDN, API-Gateway). Es kann sich auch um eine serverähnliche Einheit innerhalb des Haupt-Webservers handeln (z. B. Reverse-Proxy-Server, Datenbankserver).

SEO-Auswirkung des 504 Gateway-Fehlers

Alle 5xx Fehler verhindern, dass eine Webseite geladen wird, was sich negativ auf das Benutzererlebnis auswirkt. Daher nehmen Suchmaschinen wie Google diese Fehler ernst. Bleibt der Fehler über einen längeren Zeitraum bestehen, kann es sogar dazu führen, dass die Webseite aus den Suchergebnissen der Suchmaschine gelöscht wird.

Wenn Google-Spider zum Beispiel über den Fehler 503 Service Unavailable stolpern, werden sie verstehen, dass es sich um ein vorübergehendes Problem handelt, da es meist dazu dient, den Wartungsmodus der Webseite zu aktivieren. Daher werden sie versuchen, die Seite später erneut zu crawlen.

Ein 504 Gateway-Fehler ist nicht unbedingt vorübergehend, da es mehrere Gründe dafür geben kann. Wenn deine Webseite nur ein paar Minuten lang nicht erreichbar ist und die Spider versuchen, sie mehrmals pro Minute zu crawlen, werden sie versuchen, die Seite aus ihrem Cache zu bedienen.  Sie würden es nicht einmal bemerken.

Aber wenn deine Webseite für mehr als 6 Stunden oder länger nicht erreichbar ist, wird Google den Fehler 504 als ein ernsthaftes Problem für die gesamte Webseite betrachten, das du so schnell wie möglich beheben musst. Dies kann sich negativ auf dein SEO auswirken.

Anzeigen der Crawl-Fehler in der Google Search Console
Anzeigen der Crawl-Fehler in der Google Search Console

Google Search Console ist eines der besten SEO-Tools, um die HTTP-5xx-Fehler deiner Webseite zu überwachen.

Wie behebt man den 504 Gateway Timeout Fehler?

Ohne genaue Details über die Seite zu kennen, wie z.B. die Serverkonfiguration, den Hosting Plan, Plugins von Drittanbietern und den Traffic, den es anzieht, könnte es frustrierend und überwältigend sein, einen 504 Gateway Fehler zu beheben.

Da viele Variablen involviert sind, empfehle ich euch, damit anzufangen, Probleme auf der Client-Seite zu beheben, die ziemlich selten sind, und dann zur Behebung von Problemen auf der Server-Seite überzugehen. Sie sind normalerweise die Schuldigen bei 504-Fehlern sind.

1. Versuche die Webseite neu zu laden

Eines der ersten Dinge, die du versuchen kannst, wenn du auf einen 504 Gateway-Fehler stößt, ist, ein paar Minuten zu warten und zu versuchen, die Seite neu zu laden.

Du kannst in den meisten Browsern die Tastenkombination F5 drücken, um die Webseite zu aktualisieren/neuladen. Um den Browser-Cache der Seite vor dem Neuladen zu löschen, kannst du stattdessen die Tastenkombination STRG+F5 drücken.

Aktualisieren einer Webseite im Chrome-Browser
Aktualisieren einer Webseite im Chrome-Browser

Wenn du schon dabei bist, kannst du auch versuchen, die Webseite in einem anderen Browser zu laden, um das als Problem auszuschließen. Da die meisten 504 Fehler auf vorübergehend überlastete Server zurückzuführen sind, sollte die Verwendung dieser Lösung dazu führen, dass deine Webseite sofort zurückkommt.

Wenn das Warten und erneute Laden der Webseite das Problem mit dem 504-Fehler nicht behebt, kannst du überprüfen, ob eine Webseite für alle oder nur für dich heruntergefahren ist. Zwei nützliche Online-Tools zum Testen einer Website auf Ausfallzeiten sind Down für alle oder nur für mich und Ist es gerade down?

Testen von Kinsta.com auf Down für alle oder nur für mich
Testen von Kinsta.com auf Down für alle oder nur für mich

2. Starte deine Netzwerkgeräte neu

Manchmal können Probleme mit deinen Netzwerkgeräten wie Modem oder Router zu einem 504 Gateway-Fehler führen. Ein Neustart dieser Geräte könnte dir helfen, das Problem zu beheben.

Du kannst zwar alle diese Netzwerkgeräte in beliebiger Reihenfolge ausschalten, aber die Reihenfolge, in der du sie wieder einschaltest, ist wichtig. Normalerweise schaltest du diese Geräte von „außen nach innen“ ein, indem du der Verbindungsreihenfolge vom Internetanbieter zu deinem Hauptgerät folgst.

3. Überprüfe deine Proxy-Einstellungen

Ein Proxy-Server sitzt zwischen deinem Gerät und dem Internet. Meistens wird er verwendet, um die Online-Privatsphäre zu verbessern, indem er private Informationen (z.B. den Standort des Geräts) vor Webseiten und Webservern verbirgt (z.B. über ein VPN).

Obwohl es selten vorkommt, dass Proxyserver einen 504-Fehler verursachen, können falsche Proxyservereinstellungen manchmal der Grund dafür sein. Du kannst den Proxyserver deaktivieren und versuchen, die Webseite neu zu laden, um zu sehen, ob der Fehler dadurch behoben wird.

Ändern der 'Proxy'-Einstellungen in Windows 10
Ändern der ‚Proxy‘-Einstellungen in Windows 10

Die meisten Clients benutzen keinen Proxy-Dienst, also kannst du diesen Schritt überspringen, wenn du dir sicher bist, dass du keinen Proxy-Server benutzt. Es kann aber sein, dass du es eingestellt hast, ohne dass du es überhaupt wusstest. Ich würde vorschlagen, dass du die Proxy-Einstellungen deines Geräts und deines Browsers überprüfst, um diese Ursache auszuschließen.

4. Suche nach DNS-Problemen

Ein 504 Gateway-Fehler kann auch durch DNS-Probleme auf der Serverseite oder der Client-Seite (oder beiden) verursacht werden.

Der wahrscheinlichste Grund für ein serverseitiges DNS-Problem ist der FQDN (vollqualifizierter Domain-Name), der sich nicht auf die korrekte IP-Adresse auflöst oder der DNS-Server antwortet nicht. Normalerweise tritt dies auf, wenn du deine Webseite gerade auf einen neuen Server oder Host migriert hast. Daher ist es wichtig, darauf zu warten, dass die DNS-Einträge der Domain sich vollständig ausbreiten, was bis zu 24 Stunden dauern kann.

Du kannst kostenlose Tools wie whatsmydns.net DNS Checker oder DNSMap benutzen, um zu sehen, ob sich deine DNS um den Globus verbreitet hat.

Überprüfung der DNS-Propagierung für deine Domain auf whatsmydns.net
Überprüfung der DNS-Propagierung für deine Domain auf whatsmydns.net

Um DNS-Probleme auf der Client-Seite zu beheben, könntest du versuchen, deinen lokalen DNS-Cache zu leeren. Es ist wie das Leeren deines Browser-Caches, nur dass du hier den DNS-Cache vom Betriebssystem leerst.

Wenn du Windows benutzt, kannst du den DNS-Cache leeren, indem du die Eingabeaufforderung öffnest und die folgende Anweisung eingibst:

ipconfig /flushdns
Den DNS-Cache mit der Eingabeaufforderung in Windows leeren
Den DNS-Cache mit der Eingabeaufforderung in Windows leeren

Du solltest die Nachricht „Erfolgreiches leeren des DNS-Resolver-Caches“ sehen, wenn es funktioniert hat.

Für die neuesten MacOS-Versionen kannst du das Terminal öffnen und den folgenden Befehl ausführen:

sudo killall -HUP mDNSResponder

Du wirst keine Benachrichtigung im MacOS sehen, wenn der Prozess beendet ist, aber du kannst das ändern, indem du den Befehl an deine eigene Nachricht anhängst.

sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

Wenn du ältere MacOS-Versionen benutzt, variiert der Befehl, den du eingeben musst, je nachdem, welche Version des MacOS du benutzt. Weitere Details findest du in der MacOS-Sektion in Kinsta’s ausführlicher DNS-Tutorial zum Thema leeren.

Wenn du das Linux-Betriebssystem benutzt, dann ist der Prozess ziemlich ähnlich wie bei macOS, da sogar Linux das Terminal als Kommandozeileninterface benutzt. Da es viele Distributionen von Linux gibt, kann der genaue Befehl, den du ausführen musst, von einer Distribution zur anderen variieren. Du kannst dir Kinsta’s Anleitung für weitere Informationen ansehen.

Schließlich kannst du deine clientseitigen DNS-Server vorübergehend ändern. Standardmäßig weist dir dein ISP die DNS-Server automatisch zu. Du kannst diese aber vorübergehend auf öffentliche DNS-IPs umstellen.

Einige zuverlässige DNS-Server, die Sie ausprobieren können, sind Google Public DNS, Cloudflare 1.1.1.1, Quad9 DNS und Cisco OpenDNS.

Einstellungen für benutzerdefinierte DNS-Server in Windows 10
Einstellungen für benutzerdefinierte DNS-Server in Windows 10

5. Deaktiviere das CDN deiner Webseite vorübergehend

Manchmal könnte das Problem auch bei deinem Content Delivery Network (CDN) liegen. Wenn der Ursprungsserver einer Webseite nicht erreichbar ist, werden die meisten CDNs versuchen, die gesamte Webseite aus ihrem Cache auszuliefern.

Aber die meisten CDNs aktivieren diese Funktion nicht standardmäßig, da es komplex ist, dynamische Inhalte auf den meisten Webseiten zwischenzuspeichern (z.B. das Dashboard des Seitenadministrators von WordPress).

Die 'Alles zwischenspeichern'-Seitenregel in Cloudflare
Die ‚Alles zwischenspeichern‘-Seitenregel in Cloudflare

Ein einfacher Weg zur Fehlerbehebung ist die vorübergehende Deaktivierung des CDN. Wenn du zum Beispiel das kostenlose CDN Enabler WordPress Plugin verwendest, um deine Webseiten mit den CDN URLs zu verlinken, dann kannst du das Plugin deaktivieren und das Neuladen deiner Webseite testen.

Dasselbe gilt für jedes andere Plugin, das du zum Verbinden mit deinem CDN verwenden kannst (z.B. WP Rocket, Breeze, W3 Total Cache).

Wenn du keinen Zugriff auf das Dashboard des Seitenadministrators deiner Webseite hast, kannst du das Plugin per SFTP deaktivieren, indem du den Ordnernamen des Plugins umbenennst.

Deaktiviere alle Plugins per SFTP, indem du den Namen des Plugins-Ordners umbenennst
Deaktiviere alle Plugins per SFTP, indem du den Namen des Plugins-Ordners umbenennst

CDNs wie Cloudflare oder Sucuri, die vollständige Proxy-Dienste anbieten, haben zusätzliche Firewalls zwischen ihren Edge-Servern und deinem Ursprungsserver. Daher kann es vorkommen, dass du bei der Benutzung dieser Firewalls häufiger auf HTTP 5xx Fehler stößt. Die meisten von ihnen cachen 5xx Fehler, die von deinem Ursprungsserver zurückgegeben werden, so dass es einfach ist, sie zu beheben.

Cloudflare’s kostenloser Plan ist anfällig dafür, einen 5xx-Fehler zu verursachen. Da es ein vollständiger Proxy-Dienst ist, gibt es leider keine schnelle Möglichkeit, es zu deaktivieren. Aber bevor ihr Cloudflare dafür verantwortlich macht, solltet ihr wissen, dass Cloudflare zwei Variationen des 504 Gateway Fehlers zeigt.

504 Gateway-Fehler bei Cloudflare (Variante 1)

Cloudflare zeigt dir einen benutzerdefinierten 504 Gateway Fehlerbildschirm, wenn der Ursprungsserver deiner Webseite mit einer Standard HTTP 504 Antwort antwortet.

Cloudflare's benutzerdefinierter Bildschirm Error 504
Cloudflare’s benutzerdefinierter Bildschirm Error 504

Hier liegt das Problem bei eurem Webserver und nicht bei Cloudflare. Du kannst es mit den anderen unten genannten Lösungen versuchen zu beheben oder den Support deines Hosting Providers um technische Hilfe bitten.

504 Gateway Zeitüberschreitung bei Cloudflare (Variante 2)

Wenn Cloudflare den Fehler 504 Gateway verursacht, wird auf dem Fehlerbildschirm „cloudflare“ angezeigt, was derzeit der Standardservername für alle Cloudflare-Assets ist. Normalerweise wird der Fehlerbildschirm wie folgt angezeigt:

Fehlerbildschirm für 504 Gateway verursacht durch Cloudflare
Fehlerbildschirm für 504 Gateway verursacht durch Cloudflare

Da Cloudflare selbst nicht ansprechbar ist, werdet ihr hier keinen Fehlerbildschirm mit der Marke Cloudflare sehen.

Höchstwahrscheinlich ist sich Cloudflare des Problems bereits bewusst und arbeitet bereits an einem Fix. Du kannst dies bestätigen, indem du auf der Cloudflare System Status Webseite nachsiehst. Alternativ kannst du dich mit dem Cloudflare Support in Verbindung setzen, um eine schnellere Lösung zu erhalten.

Prüfe den Status des Cloudflare-Systems auf cloudflarestatus.com
Prüfe den Status des Cloudflare-Systems auf cloudflarestatus.com

504 Gateway bei Cloudflare aufgrund großer Uploads

Die Größe deiner Uploads auf deine Webseite kann auch ein Grund für die Server-Timeouts sein. Cloudflare begrenzt die Größe der hochgeladenen Dateien (pro HTTP POST Anfrage) auf nur 100 MB sowohl beim Kostenlosen Plan als auch beim Pro Plan.

Cloudflare's 'Maximale Upload-Größe' Grenzen für verschiedene Pläne
Cloudflare’s ‚Maximale Upload-Größe‘ Grenzen für verschiedene Pläne

Das Problem kann auf der Seite deines Hosts oder bei Cloudflare liegen. Du kannst die genaue Ursache herausfinden, indem du Cloudflare mit deiner DNS-Host-Datei umgehst und deinen Upload erneut versuchst.

Wenn du Cloudflare mit WordPress verwendest, empfehle ich dir, deren kostenloses Plugin zu verwenden und kritische URLs vom Caching auszuschließen (wie z.B. das WordPress Admin Dashboard). Wie man die Cloudflare-Einstellungen für WordPress konfiguriert, könnt ihr in Kinsta’s detailliertem Post nachlesen.

Vorgeschlagene Lektüre: Wie man Cloudflare APO für WordPress einrichtet.

6. Suche nach Server-Problemen bei deinem Host

Serverprobleme sind einer der häufigsten Gründe für einen 504 Gateway-Fehler. Da die meisten WordPress-Seiten auf Nginx- oder Apache-Webservern gehostet werden, bedeutet es, dass Nginx oder Apache auf eine Antwort von irgendetwas wartet und ein Timeout-Fehler auftritt.

Viele Kunden kommen zu Kinsta wegen genau diesem Problem, das sie bei anderen Hosts haben. Die Unterhaltung geht ungefähr so:

Wir bekommen etwa 100k Besucher pro Monat mit mehr als 200k Views. Momentan hosten wir mit ____ und wir haben ständig 504 Fehler aufgrund von Serverüberlastung. Mir gefällt nicht, wie ____ mit dem Problem umgegangen ist, und uns wurde auch mitgeteilt, dass wir bald zu ihren dedizierten Plänen übergehen müssen, was meiner Meinung nach nicht nötig ist.

Websites mit hohem Traffic und E-Commerce sind anfälliger für 504 Fehler aufgrund von Serverüberlastung, da sie eine Menge uncacheable Anfragen generieren. Dieses Problem kann jedoch bei jeder Webseite auftreten, auch bei einfachen Blogs. Viele Hosts werden dich bitten, auf einen High-Tier-Plan umzusteigen, um das Problem zu beheben, was in den meisten Fällen unnötig ist.

Kinsta verwendet von LXD verwaltete Hosts und orchestrierte LXC-Softwarecontainer für jede Webseite. So ist jede Seite in einem eigenen isolierten Container untergebracht, der Zugriff auf die gesamte Software hat, die für den Betrieb der Seite benötigt wird (Linux, Nginx, PHP, MySQL). Die Ressourcen sind 100% privat und werden mit keiner anderen Webseite geteilt, auch nicht mit deinen Webseiten.

Die meisten Hosts, die Shared Hosting-Pakete anbieten, haben diese Möglichkeit nicht. Daher kann eine Website mit hohem Traffic, die auf demselben Server wie deine Webseite gehostet wird, auch einen 504-Fehler auslösen.

Abgesehen davon, dass jede Webseite in ihrem Container isoliert ist, hat Kinsta seine Infrastruktur auch so ausgelegt, dass sie problemlos Tausende von gleichzeitigen Verbindungen bewältigen kann. Kinsta hostet sogar die MySQL-Datenbanken auf localhost, nicht auf einem entfernten Server. Das bedeutet keine Latenzzeit zwischen den Rechnern, was zu schnelleren Anfragen und weniger Timeouts führt.

Viele Kunden, die zu Kinsta migrieren, sehen einen enormen Rückgang der Gesamtlastzeiten.

Eine Leistungssteigerung von 212,5% nach dem Wechsel zu C2.
Eine Leistungssteigerung von 212,5% nach dem Wechsel zu C2.

Ein überlasteter Server ist nicht der einzige Grund für einen Server-Timeout. Es kann viele andere Gründe für den 504-Fehler geben:

Langsame Server-Infrastruktur

Der Server, den du als Host für deine Seite benutzt, hat möglicherweise nicht genügend Ressourcen, um die Last zu bewältigen. Es ist, als würde man ein modernes, grafikintensives Videospiel auf einem Jahrzehnte alten PC spielen.

Der Server hängt einfach auf und versucht, die Webseite zu bedienen. Die einzige Lösung für dieses Problem ist ein Upgrade auf einen Server mit besserer Infrastruktur. Aus diesem Grund kann selbst der einfachste Hostingplan von Kinsta eine statische Webseite mit mittlerem Traffic verwalten.

Braucht mehr PHP Worker.

PHP Worker werden genutzt, um den Code auf deiner Seite auszuführen. Eine E-Commerce Webseite, die 50.000 Besucher pro Monat hat, braucht viel mehr Ressourcen als ein einfacher Blog mit dem gleichen Traffic. Wenn alle PHP-Worker des Servers beschäftigt sind, bauen sie eine Warteschlange auf.

Wenn die Warteschlange zu groß wird, ignoriert der Server alte Anfragen, was dazu führen kann, dass der Server einen 504-Gateway-Fehler ausgibt. Du kannst deinen Host fragen, wie du die Anzahl der PHP-Worker erhöhen kannst. Das erlaubt deiner Webseite, mehrere Anfragen gleichzeitig auszuführen.

Firewall-Probleme

Die Firewall deines Servers könnte einige Fehler oder eine fehlerhafte Konfiguration haben. Vielleicht verhindern ein paar ihrer Regeln, dass der Server eine Verbindung ordnungsgemäß herstellen kann. Um zu wissen, ob deine Firewall der Übeltäter ist, kannst du die Fehlerprotokolle deines Servers überprüfen.

Probleme mit der Netzwerkverbindung

Verbindungsprobleme zwischen dem Proxy-Server und dem Webserver können zu Verzögerungen bei der Beantwortung von HTTP-Anfragen führen. Wenn du einen Loadbalancer benutzt, könnte es auch Probleme mit der Netzwerkverbindung geben.

HTTP-Timeouts

HTTP-Timeouts können auftreten, wenn eine Verbindung zwischen dem Webserver und dem Client zu lange offen gehalten wird. Bei WordPress Seiten passiert dies normalerweise beim Ausführen von WordPress Importen. Eine Möglichkeit, dieses Problem zu beheben, ist, auf eine schnellere Internetverbindung umzusteigen.

Du kannst auch ein Tool mit Support für WP-CLI verwenden, um die Skripte direkt auf dem Server auszuführen, wobei die HTTP-Verbindung komplett umgangen wird. Du kannst zum Beispiel den Befehl wp import WP-CLI verwenden, um das WordPress Importer Plugin direkt über die Kommandozeilenschnittstelle auszuführen.

Wichtig: 504 Gateway Fehler sehen ähnlich aus wie 503 Service Unavailable Fehler oder 502 Bad Gateway Fehler. Aber sie sind alle unterschiedlich. Wenn du einen 504-Fehler bei Kinsta hast, öffne ein Support-Ticket, um dein Problem sofort zu beheben.

Um die Ausfallzeit deiner Webseite selbst zu überwachen, kannst du ein Tool wie updown.io verwenden. Es überprüft regelmäßig den Status deiner Webseite (oder jeder anderen URL), indem es eine HTTP-Anfrage an es sendet. Du kannst die Prüffrequenz von 15 Sekunden bis 1 Stunde einstellen. Wenn deine Webseite nicht richtig antwortet, wird sie dich per E-Mail oder SMS benachrichtigen.

Überwache deine Webseite ganz einfach mit updown.io
Überwache deine Webseite ganz einfach mit updown.io

Du bekommst eine großzügige Menge kostenloser Credits mit jedem Account von updown.io, aber wenn du nach billigeren Alternativen suchst, kannst du dir WebGazer oder UptimeRobot ansehen. Mit diesen beiden Tools kannst du die Verfügbarkeit deiner Webseite alle 5 Minuten kostenlos überwachen. Das ist angemessen genug für die meisten Betreiber von Webseiten.

Das Dashboard des WebGazer Website-Überwachungstools
Das Dashboard des WebGazer Website-Überwachungstools

Wenn du deine Website überwachst, kannst du feststellen, wie oft sie nicht erreichbar ist. Das ist besonders hilfreich, wenn du einen Shared Hosting-Anbieter nutzt. Die meisten Anwendungshoster, Datenbankhoster und Managed WordPress Hoster (wie Kinsta) kümmern sich automatisch um diese Aufgabe. Daher ist es immer empfehlenswert, sich für diese Anbieter zu entscheiden.

Eine ausführliche Erklärung findest du in Kinsta’s Post über die Wichtigkeit von Managed WordPress Hosting.

7. Prüfe auf Spam, Bots oder DDoS-Angriffe

Böswillige Angreifer können deinen Webserver zum Crawlen bringen, indem sie zu viele Anfragen senden oder ressourcenintensive Anfragen stellen. Wenn deine Webseite von Bots gespammt wird oder einem DDoS-Angriff ausgesetzt ist, kann es deinen Server überlasten und bei vielen echten Nutzern zu 504 Gateway-Timeout-Fehlern führen.

Du kannst dir deinen Server-Traffic und deine Analysen ansehen, um zu sehen, ob du irgendwelche unregelmäßigen Muster im Traffic deiner Webseite erkennen kannst. Wenn du Kinsta als Host für deine Webseite verwendest, kannst du diese Daten ganz einfach einsehen, indem du zu deinem MyKinsta Analytics Dashboard gehst.

Analysen auf Seiten-Ebene in MyKinsta.
Analysen auf Seiten-Ebene in MyKinsta.

Beginne deine Untersuchung, indem du dir die Top-Client-IPs ansiehst. Sie geben dir eine Vorstellung davon, wer die maximale Anzahl von Anfragen generiert und von wo aus. Wenn dein Server plötzlich enorme Bandbreite verbraucht oder viel Traffic anzieht, dann wird dir dieser Bericht sehr nützlich sein.

Die Top-IPs der Clients werden im Analytics Dashboard angezeigt.
Die Top-IPs der Clients werden im Analytics Dashboard angezeigt.

Als nächstes kannst du dir den Cache-Analysebericht ansehen. Hier siehst du, wie viele Anfragen den Cache umgehen oder fehlen, oder aus dem Cache bedient werden. Aus Performance- und Stabilitätsgründen möchtest du so viele Anfragen wie möglich zwischenspeichern, aber es ist nicht immer möglich, das zu erreichen.

Zum Beispiel erzeugen WooCommerce-Websites viele Anfragen, die nicht gecached werden können, z.B. für Funktionen wie den Warenkorb und den Bestellvorgang.

Der 'Cache-Analyse'-Bildschirm in MyKinsta
Der ‚Cache-Analyse‘-Bildschirm in MyKinsta

Schließlich kannst du ein Sicherheits-Plugin verwenden, um die Sicherheit deiner Webseite zu erhöhen, indem du besorgniserregenden Traffic/IPs entdeckst und blockierst. Du kannst auch deinen Host bitten, bestimmte IPs zu blockieren.

Abhängig von der Länge und dem Ausmaß des Angriffs könnte dies ein endloser Prozess sein, bei dem IPs auf eine schwarze Liste gesetzt werden, da viele Angreifer ihre IPs und Proxy-Adressen ändern, nachdem sie geblockt wurden.

Hinweis: Kinsta erlaubt es seinen Kunden nicht, Sicherheits-Plugins zu installieren, da diese einen großen Einfluss auf die Leistung der Webseite haben können, insbesondere auf die Scan-Fähigkeiten. Da Kinsta Loadbalancer mit der Google Cloud Platform verwendet, würde das Blockieren von IPs nicht immer wie beabsichtigt funktionieren.

Du kannst spezielle Sicherheitslösungen wie Cloudflare oder Sucuri verwenden, um deine Webseiten vor DDoS-Angriffen und Spam-Bots zu schützen. Weitere Informationen findest du in Kinsta’s Artikeln über die Installation von Cloudflare auf deiner Seite und wie Sucuri dazu beigetragen hat, eine DDoS-Attacke zu stoppen.

8. Repariere deine beschädigte WordPress-Datenbank

Manchmal kann ein 504 Gateway-Fehler auf eine beschädigte Datenbank zurückzuführen sein, besonders bei WordPress-Seiten. Typischerweise ist dies auf beschädigte Datenbanktabellen oder -dateien zurückzuführen. Manchmal kann es auch durch ein ernsthaftes Sicherheitsproblem wie das Hacken deiner Webseite oder Datenbank verursacht werden.

Das Reparieren einer beschädigten WordPress-Datenbank hängt vom Problem ab. Plugins wie WP-DBManager machen es einfach, Datenbankprobleme zu diagnostizieren und zu reparieren. Ich empfehle dir, Kinsta’s detaillierte Anleitung zum Reparieren von WordPress-Datenbankproblemen zu lesen, um anzufangen.

9. Überprüfe die Plugins und Themes deiner Webseite

In den meisten Fällen verursachen Plugins und Themes von Drittanbietern keine 504 Fehler. Aber es besteht eine geringe Wahrscheinlichkeit, dass sie Server-Timeouts verursachen, normalerweise durch das Einreihen vieler nicht gecachter Anfragen, die durch das Plugin/Theme generiert werden. Da dies eine Menge PHP Worker auf deinem Server bindet, kann es 504 Fehler verursachen.

Ein großartiges Beispiel für dieses Problem ist WooCommerce, ein Plugin, das installiert wird, um E-Commerce-Funktionalität zu WordPress Webseiten hinzuzufügen.

Die einfachste Art der Fehlerbehebung ist die Deaktivierung aller Plugins. Denke daran, dass du keine Daten verlierst, wenn du einfach ein Plugin deaktivierst.

Wenn du Zugang zu deinem Admin Dashboard hast, kannst du auf den Plugins Bildschirm gehen, Deaktivieren aus dem Menü der Massenaktionen wählen, alle Plugins markieren und dann den Knopf Anwenden drücken. Dies wird alle deine Plugins deaktivieren.

Deaktivierung aller WordPress Plugins über das WP Admin Dashboard
Deaktivierung aller WordPress Plugins über das WP Admin Dashboard

Wenn du keinen Zugang zu deinem Adminbereich hast, dann kannst du Plugins per SFTP deaktivieren, indem du die zuvor beschriebene Methode benutzt. Benenne einfach den Namen des Haupt-Plugin-Ordners um, um alle Plugins in der Masse zu deaktivieren.

Wenn du alle Plugins deaktiviert hast, überprüfe, ob deine Webseite richtig geladen wird. Wenn es funktioniert, dann musst du jedes Plugin einzeln aktivieren und die Webseite testen, nachdem du jedes Plugin aktiviert hast.

Schließlich solltest du sicherstellen, dass deine Plugins, Themes und dein WordPress-Core auf dem neuesten Stand sind. Stelle außerdem sicher, dass auf deinem Server die empfohlene Version von PHP läuft.

Wenn dir das zu überwältigend ist, kannst du jederzeit deinen Host um Hilfe bitten. Kinsta verwendet Kinsta APM und andere Fehlerbehebungstechniken, um Kunden dabei zu helfen, das Plugin, die Abfrage oder das Skript einzugrenzen, das den Fehler verursachen könnte.

In den schlimmsten Fällen, wie z.B. einer ineffizienten Abfrage oder schlechtem Code in einem Plugin/Theme, kannst du einen WordPress-Entwickler hinzuziehen, um das Problem zu beheben.

10. Fehlerprotokolle prüfen

Das Ansehen von Fehlerprotokollen kann sehr hilfreich bei der Fehlerbehebung und dem Debuggen von 504 Fehlern auf deiner Seite sein. Dies kann dir helfen, ein Problem auf deiner Webseite schnell einzugrenzen, besonders wenn es von einem anspruchsvollen Plugin auf deiner Webseite herrührt.

Wenn du ein Kinsta-Kunde bist, kannst du die protokollierten Fehler ganz einfach im MyKinsta-Dashboard einsehen. Wähle zunächst WordPress-Seiten in der Seitenleiste aus, dann die Seite, die du untersuchen möchtest, und wähle dann Logs, um die Seite Log Viewer zu öffnen.

Anzeige der Datei error.log im MyKinsta-Dashboard.
Anzeige der Datei error.log im MyKinsta-Dashboard.

Wenn dein Host kein Logging Tool hat, dann kannst du den WordPress Debug Modus aktivieren, indem du den folgenden Code zu deiner wp-config.php Datei hinzufügst:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Die Konstante WP_DEBUG aktiviert oder deaktiviert den WordPress-Debug-Modus. Es hat zwei optionale Begleiter-Konstanten, die seine Funktionen erweitern können. Die Konstante WP_DEBUG_LOG bewirkt, dass alle Fehler in einer debug.log-Datei im Verzeichnis /wp-content/ gespeichert werden. Wenn du diese Datei nicht siehst, kannst du jederzeit eine erstellen.

Die Konstante WP_DEBUG_DISPLAY kontrolliert, ob Debug-Logs in der HTML-Seite angezeigt werden. Wenn du diese Konstante auf false setzt, werden alle Fehler versteckt, aber du kannst die Fehler später überprüfen, da du WP_DEBUG_LOG auch als true definiert hast.

Wichtig: Wenn du WP_DEBUG in der Kinsta-Umgebung aktiviert hast, werden alle Fehler in die Datei debug.log geleitet und nicht in die error.log im MyKinsta Dashboard.

Du kannst auch die rohen WordPress-Fehlerlogdateien per SFTP herunterladen. Normalerweise findest du die Fehlerprotokolle im Hauptverzeichnis deines Servers in einem Ordner namens „logs“.

Zugriff auf den WordPress-Fehlerprotokoll-Ordner per SFTP
Zugriff auf den WordPress-Fehlerprotokoll-Ordner per SFTP

Kinsta-Benutzer können den WordPress-Debug-Modus auch über ihr MyKinsta-Dashboard aktivieren. Dazu gehst du zu Sites > Tools > WordPress Debugging und klickst auf die Schaltfläche Aktivieren. Dadurch kannst du PHP-Fehler und Hinweise sehen, ohne den Debug-Modus per SSH oder SFTP aktivieren zu müssen.

Zuletzt kannst du die Server-Logdateien überprüfen. Abhängig davon, welchen Server du als Host für deine WordPress Seite verwendest, findest du sie normalerweise an diesen Stellen:

  • Apache: /var/log/apache2/error.log/
  • Nginx: /var/log/nginx/error.log/

Du kannst die Logging-Dokumentation von Apache oder Nginx für weitere Informationen konsultieren.

11. Konfiguriere die Einstellungen von Apache oder Nginx richtig

Du kannst deine Serverkonfigurationsdateien bearbeiten, um die Ressourcenbegrenzung für bestimmte Direktiven zu erhöhen. Dies kann dir helfen, den Fehler 504 Gateway zu beheben.

Für Apache-Webserver

Füge zuerst den folgenden Code in deine httpd.conf ein:

TimeOut 600

Diese Einstellung legt fest, wie lange der Server auf bestimmte Anfragen wartet, bevor er es als Netzwerk-Timeout-Problem markiert. Der Standardwert ist 60 Sekunden (Apache 2.4 Version).

Du kannst diese Direktive nur in deiner httpd.conf-Datei hinzufügen, nicht in deiner .htaccess-Datei. Da die meisten Shared Hosting-Provider dir nicht erlauben, die httpd.conf-Datei zu modifizieren, kannst du stattdessen versuchen, den Wert der LimitRequestBody-Direktive in deiner .htaccess-Datei zu erhöhen.

Dann füge die folgende Zeile zu deiner php.ini Datei hinzu:

max_execution_time 300

Der Standardwert der max_execution_time Direktive von PHP ist 30 Sekunden. Wenn du es erhöhst, können die PHP-Skripte deiner Webseite länger laufen.

Für Nginx-Webserver

Wenn du deine WordPress Seiten auf Nginx + FastCGI Process Manager (PHP-FPM) laufen lässt oder Nginx als Reverse Proxy für Apache benutzt, kannst du die Servereinstellungen anpassen, um 504 Gateway Fehler zu vermeiden.

504 Gateway-Timeout-Fehler auf Nginx + FastCGI (PHP-FPM)

Zuerst musst du deine PHP-FPM-Pool-Konfigurationsdatei bearbeiten. Du kannst es unter /etc/php7.4/fpm/pool.d/www.conf auf deinem Nginx-Server finden (der genaue Pfad kann je nach PHP-Version variieren). Alternativ kannst du auch den folgenden Befehl in deinem Terminal ausführen, um die PHP-FPM-Pool-Konfigurationsdatei zu bearbeiten:

sudo nano /etc/php/7.2/fpm/pool.d/www.conf

Als nächstes stellst du die folgende Anweisung auf:

request_terminate_timeout = 300

Danach musst du deine php.ini Datei editieren. Du kannst es unter /etc/php.ini finden. Öffne die Datei und füge/verändere den Wert für die max_execution_time Direktive auf 300 Sekunden.

max_execution_time = 300

Zum Schluss füge den folgenden Code in den Speicherblock deiner nginx.conf-Datei ein:

location ~ .php$ {
...
fastcgi_read_timeout 300;
}

Reload Nginx and PHP-FPM for the changes to take effect.

sudo service nginx reload
sudo service php7.4-fpm reload

Der genaue Code zum Neuladen von PHP-FPM hängt von der auf deinem Server installierten PHP-Version ab. Teste deine Webseite, um zu sehen, ob es das Problem behoben hat.

504 Gateway Timeoutfehler auf Nginx Proxy

Wenn du Nginx als Reverse-Proxy-Server für Apache benutzt, dann kannst du es nachsichtiger gegenüber Server-Timeouts machen, indem du die folgenden Direktiven in deine nginx.conf-Datei einfügst:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

Vergiss nicht, Nginx neu zu laden, nachdem du deine Änderungen vorgenommen hast.

sudo service nginx reload

Andere HTTP-Fehler wie 504 Gateway

Wie bereits in dem Artikel erwähnt, gibt es viele andere HTTP 5xx Fehler, die genauso wie der 504 Gateway Fehler sind. Das liegt daran, dass sie alle auf der Serverseite passieren. Diese Fehler beinhalten:

Andere HTTP-Fehler, die durch Probleme auf der Client-Seite verursacht werden, wie der 404 Not Found-Fehler, sind ebenfalls wie der 504-Fehler. Weitere Informationen findest du in Kinstas ausführlicher Anleitung und der Liste der HTTP-Statuscodes.

Zusammenfassung

Deine WordPress Seite kann aus verschiedenen Gründen von dem Fehler 504 Gateway betroffen sein. In diesem Artikel hast du gelernt, wie du sie alle beheben kannst. Normalerweise werden diese Fehler durch serverseitige Probleme verursacht. In diesem Fall kannst du dich an deinen Host wenden und es schnell beheben lassen.

Du musst jedoch auch verstehen, dass dieser Fehler durch Plugins von Drittanbietern, Themes, Services, ineffiziente Datenbankabfragen oder einer Kombination aus zwei oder mehr dieser Gründe verursacht werden können. Wenn du die Ressourcen deines Servers auslastest (z.B. PHP-Worker), ist es empfehlenswert, deine Webseite auf Leistung zu optimieren.

Wenn du immer noch feststellst, dass deine Webseite zu langsam ist, dann kann es sehr gut sein, dass du deinen Hostingplan oder die Anzahl der PHP-Arbeiter erhöhen musst. Ich empfehle dir, diese Option erst dann in Betracht zu ziehen, wenn du alle anderen in diesem Artikel beschriebenen Lösungen ausgeschöpft hast.

Von einfachen statischen Seiten bis hin zu komplexen eCommerce– und Mitglieder-Webseiten, die skalierbaren Hosting-Pläne von Kinsta sind für alle Arten von Webseiten geeignet. Wenn du mehr über unser skalierbares Cloud Hosting erfahren möchtest, schau dir diesen Artikel über die wichtigsten Dinge an, die du über Kinsta wissen solltest!

Haben wir etwas verpasst? Wenn es dir immer noch schwer fällt, den 504 Gateway-Fehler auf deiner Seite zu beheben, hinterlasse einen Kommentar unten.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.