Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

So beheben Sie einen 504-Gateway-Timeout-Fehler (7 Lösungen)

Ein 504-Gateway-Timeout-Fehler tritt auf, wenn ein Server, der als Gateway oder Proxy fungiert, nicht rechtzeitig eine Antwort von einem anderen Server erhält. Dies geschieht häufig, wenn die Backend-Anwendung einer Website langsam oder überlastet ist oder Verbindungsprobleme hat.

Wenn Sie eine Website besuchen, versuchen Sie, die Seite nach kurzer Zeit neu zu laden. Wenn Sie die Website verwalten, prüfen Sie zunächst Ihre Server- und Anwendungsprotokolle, um festzustellen, wo die Verzögerung auftritt.

Hier sind sieben praktische Möglichkeiten, den Fehler zu untersuchen.

Was verursacht einen 504-Gateway-Timeout-Fehler?

Viele Websites nutzen mehrere Server oder Dienste, um Anfragen zu verarbeiten.

Ein Browser kann beispielsweise eine Verbindung zu Nginx oder einem CDN herstellen, das die Anfrage anschließend an einen Anwendungsserver weiterleitet.

Wenn diese Anwendung zu lange für eine Antwort benötigt, gibt das Gateway möglicherweise statt der angeforderten Seite einen 504-Fehler zurück.

Häufige Ursachen sind:

  • Überlastete oder nicht reagierende Anwendungsserver.
  • Langsame Datenbankabfragen oder Anfragen an externe APIs.
  • Zu wenig CPU-Leistung, RAM oder Anwendungs-Worker.
  • Netzwerkprobleme zwischen Gateway und Backend.
  • Timeout-Grenzwerte des Proxys oder der Anwendung.
  • Fehlerhaft konfigurierte CDN- oder Hosting-Infrastruktur.

Ein 504-Fehler ist in der Regel ein serverseitiges Problem. Verbindungsabhängige Probleme können jedoch manchmal einzelne Besucher betreffen.

Ursachen eines 504-Gateway-Timeout-Fehlers

1. Laden Sie die Website neu und prüfen Sie ihre Erreichbarkeit

Wenn Sie lediglich eine Website besuchen, warten Sie kurz und laden Sie die Seite neu.

Eine vorübergehende Serverüberlastung oder eine unterbrochene Backend-Anfrage kann sich ohne Eingreifen beheben.

Sie können auch einen anderen Browser oder ein anderes Netzwerk ausprobieren, um festzustellen, ob das Problem nur Ihre Verbindung betrifft.

Wenn der Fehler bei allen auftritt, muss in der Regel der Websitebetreiber oder Hosting-Anbieter die Ursache untersuchen.

Vermeiden Sie es, Zahlungen, Bestellungen oder Formulare wiederholt abzusenden. Ein Vorgang im Backend könnte abgeschlossen worden sein, auch wenn das Gateway vor der Rückgabe der Antwort eine Zeitüberschreitung gemeldet hat.

2. Prüfen Sie Server- und Anwendungsprotokolle

Wenn Sie den Server verwalten, sind Protokolldateien der beste Ausgangspunkt.

Prüfen Sie bei Nginx das Fehlerprotokoll:

sudo tail -n 50 /var/log/nginx/error.log

Suchen Sie nach Meldungen wie:

upstream timed out (110: Connection timed out)

Dies zeigt an, dass Nginx zu lange auf einen Upstream-Vorgang gewartet hat.

Prüfen Sie anschließend die Anwendungsprotokolle, um herauszufinden, warum das Backend langsam geantwortet hat.

Sie können auch einen von systemd verwalteten Dienst überprüfen:

sudo journalctl -u myapp -n 50

Ersetzen Sie myapp durch den tatsächlichen Namen Ihres Dienstes.

3. Prüfen Sie die CPU-, RAM- und Festplattenauslastung

Ein stark ausgelasteter Server kann Schwierigkeiten haben, Anfragen innerhalb der Timeout-Frist des Gateways zu verarbeiten.

Prüfen Sie den Arbeitsspeicher:

free -h

Prüfen Sie den freien Speicherplatz:

df -h

Überwachen Sie die Prozesse:

top

Achten Sie auf dauerhaft hohe Ressourcenauslastung, erschöpften Arbeitsspeicher, volle Dateisysteme oder ungewöhnlich stark ausgelastete Prozesse.

Diese Ergebnisse belegen nicht automatisch, warum die Anfrage eine Zeitüberschreitung verursacht hat, können aber helfen, Leistungsengpässe zu erkennen.

4. Untersuchen Sie Nginx- und Upstream-Timeouts

Wenn Nginx als Reverse-Proxy fungiert, prüfen Sie, ob die Upstream-Anwendung innerhalb der konfigurierten Timeout-Grenzwerte antwortet.

Bei HTTP-Backends kann die Konfiguration Folgendes enthalten:

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_read_timeout 60s;
}

Die Einstellung proxy_read_timeout legt fest, wie lange Nginx zwischen aufeinanderfolgenden Lesevorgängen vom Backend wartet, nicht die Gesamtdauer der Anfrage.

Bevor Sie den Wert erhöhen, testen Sie das Backend direkt:

curl --max-time 15 -i http://127.0.0.1:3000/

Ersetzen Sie die Adresse durch den tatsächlichen Endpunkt Ihrer Anwendung. Manche Anwendungsrouten erfordern möglicherweise eine Authentifizierung oder geben eine andere gültige Antwort als HTTP 200 zurück.

Wenn die Anwendung selbst langsam ist, kaschiert eine Erhöhung des Nginx-Timeouts möglicherweise nur das zugrunde liegende Problem.

Wenn ein längerer Timeout tatsächlich gerechtfertigt ist, überprüfen Sie auch die Timeout-Einstellungen der Anwendung. PHP-FPM- und FastCGI-basierte Anwendungen verwenden andere Nginx-Direktiven als HTTP-Proxy-Backends.

Prüfen Sie nach Konfigurationsänderungen die Nginx-Konfiguration, bevor Sie sie neu laden:

sudo nginx -t
sudo systemctl reload nginx

Laden Sie sie nur neu, wenn der Konfigurationstest erfolgreich ist.

5. Prüfen Sie Cloudflare oder Ihr CDN

Wenn Ihre Website Cloudflare oder ein anderes Content Delivery Network nutzt, stellen Sie fest, ob die Zeitüberschreitung beim CDN oder bei Ihrem Ursprungsserver auftritt.

Prüfen Sie die Fehlerinformationen Ihres CDN und vergleichen Sie sie mit den Protokollen Ihres Ursprungsservers.

Ein 504-Fehler kann von einem Upstream-Dienst hinter Ihrem Ursprungsserver oder von einer anderen Ebene auf dem Weg der Anfrage stammen.

Cloudflare hat eigene Grenzwerte für Verbindungs- und Antwortzeiten. Eine Erhöhung einer Nginx-Einstellung setzt daher nicht unbedingt einen vom CDN vorgegebenen Grenzwert außer Kraft.

Deaktivieren Sie keine Sicherheits- oder Caching-Funktionen, ohne die Ursache der Zeitüberschreitung zu ermitteln.

6. Untersuchen Sie langsame Datenbankabfragen und externe APIs

Manchmal funktioniert der Webserver einwandfrei, aber die Anwendung wartet auf einen anderen Dienst.

Häufige Beispiele sind:

  • Eine Datenbankabfrage, die zu lange dauert.
  • Eine externe API, die langsam antwortet.
  • Ausgelastete Anwendungs-Worker-Pools.
  • Hintergrundaufgaben, die um Ressourcen konkurrieren.
  • Datenbanksperren, die Anfragen verzögern.

Prüfen Sie Anwendungsprotokolle, Protokolle langsamer Abfragen und Dienstmetriken, um die Verzögerung zu lokalisieren.

Wenn eine Datenbankabfrage die Ursache ist, untersuchen Sie die Indizierung, die Abfrageausführungspläne und die Nutzung der Datenbankverbindungen.

Konfigurieren Sie für Aufrufe externer APIs angemessene Timeouts und eine geeignete Fehlerbehandlung. Länger laufende Aufgaben lassen sich möglicherweise besser asynchron verarbeiten, sofern die Anwendung dies unterstützt.

7. Kontaktieren Sie Ihren Hosting-Anbieter

Wenn Sie den 504-Gateway-Timeout-Fehler nicht beheben können, wenden Sie sich mit den gesammelten Informationen an Ihren Hosting-Anbieter.

Nennen Sie die betroffene Domain, den Zeitpunkt, zu dem das Problem erstmals aufgetreten ist, ob es nur zeitweise auftritt, und alle relevanten Protokollmeldungen.

Erwähnen Sie kürzlich vorgenommene Änderungen an Ihrer Anwendung, Datenbank, Ihrem CDN oder Ihrer Reverse-Proxy-Konfiguration.

Ein Hosting-Anbieter kann helfen, Ressourcenbeschränkungen und Infrastrukturprobleme außerhalb Ihres Verwaltungszugriffs zu untersuchen.

502- und 504-Gateway-Fehler: Was ist der Unterschied?

Diese Fehler hängen zusammen, weisen aber auf unterschiedliche Upstream-Probleme hin.

FehlerBedeutung
502 Bad GatewayEin Gateway hat eine ungültige Antwort von einem Upstream-Server erhalten
504 Gateway TimeoutEin Gateway hat die erforderliche Antwort von einem Upstream-Server nicht rechtzeitig erhalten

Wenn eine Anwendung beispielsweise unerwartet eine Verbindung schließt, kann dies zu einem 502-Fehler führen. Benötigt sie dagegen zu lange für eine Antwort, kann ein 504-Fehler auftreten.

So verhindern Sie 504-Gateway-Timeout-Fehler

Nicht jede Zeitüberschreitung lässt sich verhindern, aber eine gute Verwaltung der Infrastruktur hilft, ihre Häufigkeit zu verringern.

  • Überwachen Sie die Antwortzeiten der Anwendung und die Ressourcenauslastung.
  • Untersuchen Sie langsame Datenbankabfragen.
  • Nutzen Sie geeignetes Caching für häufig angeforderte Inhalte.
  • Konfigurieren Sie sinnvolle Timeouts für Upstream-Dienste und Anwendungen.
  • Überwachen Sie Backend-Dienste und die Verfügbarkeit von Workern.
  • Testen Sie größere Konfigurationsänderungen, bevor Sie sie bereitstellen.

Eine Erhöhung der Timeout-Grenzwerte sollte eine wohlüberlegte Entscheidung sein und nicht der erste Schritt bei der Fehlersuche.

Häufig gestellte Fragen

Ist 504 Gateway Timeout ein Serverfehler?

Ja. HTTP 504 ist ein serverseitiger Statuscode, der anzeigt, dass ein Gateway oder Proxy nicht rechtzeitig eine Antwort von einem Upstream-Server erhalten hat.

Kann das Leeren des Browser-Caches einen 504-Fehler beheben?

In der Regel nicht. Der Browser-Cache behebt keinen überlasteten oder nicht reagierenden Backend-Server. Ein Test mit einem anderen Browser oder einer anderen Verbindung kann jedoch helfen, lokale Probleme auszuschließen.

Ist ein 504-Fehler vorübergehend?

Das ist möglich. Eine vorübergehende Überlastung oder eine langsame Backend-Anfrage kann sich schnell erledigen. Wiederkehrende Zeitüberschreitungen weisen dagegen auf ein Problem hin, das untersucht werden muss.

Können bei WordPress-Websites 504-Fehler auftreten?

Ja. Bei WordPress und anderen Anwendungen können 504-Fehler auftreten, wenn Datenbankabfragen, die PHP-Verarbeitung oder Upstream-Dienste zu lange dauern.

Sollte ich den Nginx-Timeout erhöhen, um einen 504-Fehler zu beheben?

Nur wenn die Anwendung tatsächlich mehr Zeit benötigt und die anderen Grenzwerte der Infrastruktur dies zulassen. Ermitteln Sie zuerst, warum sich die Antwort des Backends verzögert.

Fazit

Ein 504-Gateway-Timeout-Fehler bedeutet, dass ein Gateway zu lange auf die Antwort eines Upstream-Servers gewartet hat.

Besucher können prüfen, ob das Problem vorübergehend ist. Administratoren sollten dagegen Protokolle, Serverressourcen, die Anwendungsleistung und Proxy-Einstellungen untersuchen.

Am zuverlässigsten lässt sich der Fehler beheben, indem Sie die Ursache der Verzögerung ermitteln, statt wahllos Timeout-Grenzwerte zu erhöhen oder Dienste neu zu starten.

Table of Content

Ein 502-Bad-Gateway-Fehler in Nginx bedeutet in der Regel, dass Nginx keine gültige Antwort von einem

Ein MCP-Server ist ein Programm, das KI-Anwendungen über das Model Context Protocol (MCP) mit externen

Brauchen Sie VPS-Hosting? Wahrscheinlich nicht, wenn Ihre Website mit Shared Hosting reibungslos läuft. Ein VPS

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Nach oben scrollen