504 Gateway Timeout hinter Cloudflare

DIREKTE ANTWORT
Ein mit Cloudflare gekennzeichneter 504 Gateway Timeout bedeutet normalerweise, dass der Cloudflare-Edge keine rechtzeitige Antwort von Ihrem Origin erhalten hat. Häufige Ursachen sind langsame Datenbank- oder Anwendungsprozesse, ein nicht erreichbarer Origin, fehlerhafte DNS- oder Firewall-Einstellungen sowie Probleme mit der SSL/TLS-Konfiguration. Testen Sie den Origin separat, optimieren Sie anschließend lang laufende Prozesse oder verlagern Sie sie in Hintergrundaufgaben und prüfen Sie das für die Anfrage und den Tarif geltende Cloudflare-Timeout.
Wichtigste Punkte
- Das Cloudflare-Branding und eine Ray ID zeigen an, dass Cloudflare den angezeigten Fehler erzeugt hat und nicht der normale Fehler-Handler Ihrer Anwendung.
- Reports, Exporte, Uploads und Massenaktionen sind typische Beispiele für Anfragen, die das geltende Timeout überschreiten können.
- Ein direkter Origin-Test hilft dabei, zwischen einem langsamen oder fehlerhaften Backend und einem Verbindungsproblem zwischen Cloudflare und dem Origin zu unterscheiden.
- Das Erhöhen eines Nginx-, Apache- oder Anwendungs-Timeouts kann Cloudflare nicht dazu bringen, länger als das für die Anfrage geltende Edge-Limit zu warten.
- Anhaltende 504-Fehler bei gewöhnlichen Anfragen erfordern die Prüfung von DNS, Firewall-Zugriff, Origin-Zustand, Proxy-Status und SSL/TLS-Einstellungen.
Site Administrator
Was dieser Fehler bedeutet und wie du ihn erkennst
- Die Fehlerseite enthält Cloudflare-Branding und üblicherweise eine Cloudflare Ray ID anstelle des normalen Fehlerlayouts Ihrer Website.
- Ein bestimmter Report, Export, Upload, API-Aufruf oder eine Massenaktion schlägt fehl, während gewöhnliche Seiten weiterhin geladen werden.
- Dieselbe Anfrage kann langsam antworten, in einen Timeout laufen oder fehlschlagen, wenn sie direkt gegen den Origin getestet wird.
- Das Problem kann bei Überlastung des Origins vorübergehend auftreten oder konstant sein, wenn Cloudflare den konfigurierten Origin nicht erreichen kann.
- Anwendungs- oder Webserver-Logs können zeigen, dass die Anfrage gestartet, aber vor dem clientseitigen Timeout nicht abgeschlossen wurde.
Hauptursachen nach Wahrscheinlichkeit
- Der Origin benötigt zu viel Zeit. Eine Datenbankabfrage, ein Report, ein Export, ein Upload oder ein anderer synchroner Vorgang kann die Zeit überschreiten, die Cloudflare wartet.
- Die Anfrage erreicht ein Cloudflare-Timeout-Limit. Das geltende Limit hängt von der Anfrage, der Account-Konfiguration und dem Tarif ab. Das Erhöhen des Webserver-Timeouts am Origin verlängert das Edge-Limit von Cloudflare nicht.
- Cloudflare kann den Origin nicht zuverlässig erreichen. Firewall-Regeln, Netzwerkausfälle, ein falsches DNS-Ziel, ein nicht verfügbarer Dienst oder eine gesättigte Verbindungskapazität können eine rechtzeitige Antwort verhindern.
- Der Endpunkt ist nicht für das Proxying geeignet. Eine interne oder spezialisierte API benötigt möglicherweise ein sorgfältig kontrolliertes DNS-only-Design, statt über den Cloudflare-Proxy geleitet zu werden.
- Die SSL/TLS-Einstellungen stimmen nicht mit dem Origin überein. Prüfen Sie bei der Verwendung von Full (strict) das Origin-Zertifikat, den Hostnamen und die Gültigkeit des Zertifikats. Zertifikatsprobleme können andere Cloudflare-Origin-Fehler verursachen. Prüfen Sie daher die genaue Antwort, statt anzunehmen, dass jedes SSL-Problem ein 504 ist.
So behebst du den Fehler
1. Bestätigen, dass Cloudflare die Antwort erzeugt hat
Prüfen Sie die Fehlerseite auf Cloudflare-Branding und eine Ray ID und vergleichen Sie sie anschließend mit der normalen Fehlerseite Ihrer Anwendung. Wenn Cloudflare die Seite erzeugt hat, wird eine Änderung ausschließlich an der Fehlerbehandlung der Anwendung das Problem zwischen Edge und Origin nicht beheben.
2. Umfang und Zeitpunkt bestimmen
Notieren Sie den genauen Hostnamen und Pfad, die HTTP-Methode, die Benutzeraktion, den ungefähren Beginn und ob das Problem alle Besucher oder nur einen Vorgang betrifft. Prüfen Sie, ob gewöhnliche Seiten funktionieren, während eine Report-, Export- oder API-Anfrage fehlschlägt.
Ein Fehler, der auf einen einzelnen aufwendigen Vorgang beschränkt ist, deutet eher auf die Dauer der Backend-Verarbeitung hin. Fehler bei gewöhnlichen und schnellen Anfragen deuten eher auf die Erreichbarkeit, Kapazität oder Konfiguration des Origins hin.
3. Den Origin unabhängig testen
Verwenden Sie einen autorisierten direkten Origin-Test, der den erforderlichen Hostnamen, Host-Header, das TLS-Verhalten, die Authentifizierung und das Routing beibehält. Ein temporärer DNS-only-Testhostname kann nützlich sein, wenn er sicher konfiguriert ist und der Origin-Zugriff weiterhin angemessen eingeschränkt bleibt.
- Der Origin ist ebenfalls langsam oder schlägt fehl: Prüfen Sie Anwendungs-Logs, Datenbankabfragen, Worker-Kapazität, abhängige Dienste, Serverauslastung und gesättigte Verbindungen.
- Der Origin ist schnell, aber der öffentliche Hostname liefert 504: Untersuchen Sie den Firewall-Zugriff von Cloudflare auf den Origin, DNS, SSL/TLS-Einstellungen, den Proxy-Status und den betroffenen Endpunkt.
- Der direkte Test ist nicht repräsentativ: Wiederholen Sie ihn mit derselben Authentifizierung, demselben hostbasierten Routing, denselben Headern und allen weiteren Anforderungen der fehlschlagenden Anfrage.
4. Einen tatsächlich langsamen Vorgang beheben
Halten Sie bei einem Report, Export, einer Massenaktion oder einer anderen lang laufenden Aufgabe nicht eine einzelne Browser-Anfrage offen, bis die gesamte Verarbeitung abgeschlossen ist. Verlagern Sie den Vorgang in eine Hintergrundaufgabe, zeigen Sie einen Verarbeitungsstatus an und ermöglichen Sie dem Benutzer, das Ergebnis per Polling oder über eine Abschlussbenachrichtigung abzurufen.
Messen Sie außerdem Datenbankabfragen, Application Traces, Upstream-Aufrufe, die Warteschlangentiefe und die Ressourcennutzung. Betrachten Sie eine Erhöhung des Origin-Timeouts nicht als primäre Lösung, ohne den Vorgang zu messen: Wenn Cloudflare sein Limit zuerst erreicht, erhält der Besucher weiterhin einen Fehler, während der Origin möglicherweise unnötige Arbeit fortsetzt.
5. Das geltende Cloudflare-Timeout prüfen
Prüfen Sie im Cloudflare-Account und in der relevanten Dokumentation, welches Timeout für die betroffene Anfrage und den verwendeten Tarif gilt. Wenn der Vorgang sinnvoll ist, aber innerhalb eines festen Limits nicht abgeschlossen werden kann, bestehen die praktischen Optionen darin, ihn als asynchronen Vorgang neu zu konzipieren oder – sofern verfügbar – eine Account-Konfiguration und einen Tarif zu verwenden, die das erforderliche Timeout unterstützen.
6. Die Erreichbarkeit bei anhaltenden Fehlern prüfen
Wenn auch gewöhnliche und schnelle Anfragen fehlschlagen, prüfen Sie:
- Der DNS-Eintrag verweist auf die aktuelle Origin-Adresse.
- Die Origin-Firewall erlaubt den erforderlichen Cloudflare-Traffic, ohne unnötige Dienste offenzulegen.
- Der Webserver lauscht am erwarteten Port und akzeptiert den angeforderten Hostnamen.
- Der Origin verfügt über ausreichende Kapazität und verwirft oder staut keine Verbindungen.
- Der SSL/TLS-Modus stimmt mit dem Origin-Zertifikat, dem Hostnamen und der Zertifikatsgültigkeit überein, insbesondere bei Full (strict).
- Der betroffene Eintrag soll tatsächlich proxied werden und nicht über eine kontrollierte DNS-only-Konfiguration bereitgestellt werden.
Nehmen Sie DNS-, Firewall-, SSL/TLS- oder Proxy-Änderungen nur mit entsprechender Berechtigung und einem Rollback-Plan vor. Testen Sie den exakt fehlschlagenden Endpunkt nach jeder wesentlichen Änderung erneut, damit Ursache und Wirkung nachvollziehbar bleiben.
7. Mit aussagekräftigen Informationen eskalieren
Wenn der Origin fehlerfrei ist und über einen gleichwertigen direkten Test schnell antwortet, sammeln Sie die Ray ID, Zeitstempel und Zeitzone, den Hostnamen, den Pfad, die Request-Methode, die betroffene Cloudflare-Zone und die Ergebnisse des direkten Tests. Geben Sie diese Informationen an den Cloudflare-Account-Administrator oder den Supportkontakt weiter, damit das Verhalten zwischen Edge und Origin untersucht werden kann.
Vorbeugung und Überprüfung der Lösung
- Messen Sie die Antwortzeit des Origins und die gesamte Dauer der Anfrage getrennt von der Verfügbarkeit aus Sicht von Cloudflare.
- Lagern Sie vorhersehbar lang laufende Reports, Exporte, Uploads und Massenaktionen in Hintergrundaufgaben mit sichtbarem Fortschritts- oder Abschlussstatus aus.
- Richten Sie Warnungen für steigende Origin-Latenz, Verbindungsfehler, Ressourcenüberlastung und zunehmende Warteschlangentiefe ein, bevor Benutzer Timeouts feststellen.
- Verwalten Sie DNS-Einträge, Origin-Firewall-Regeln und Allowlisten für Cloudflare-Traffic über ein kontrolliertes Änderungsverfahren.
- Überwachen Sie bei der Verwendung von Full (strict) die Gültigkeit und Hostnamenabdeckung des Origin-Zertifikats und prüfen Sie SSL/TLS-Änderungen vor dem Deployment.
- Dokumentieren Sie, welche Endpunkte den Cloudflare-Proxy verwenden sollen und welche ein kontrolliertes DNS-only-Design erfordern.
- Testen Sie die repräsentative Origin-Konnektivität nach Änderungen an Infrastruktur, DNS, Firewall, Zertifikaten oder Proxy erneut.
Wann externe Hilfe sinnvoll ist
Eskalieren Sie das Problem, wenn der 504 die gesamte Website betrifft, nach der Prüfung des Origins bestehen bleibt oder nach einer DNS-, Firewall-, Zertifikats- oder Proxy-Änderung auftritt. Ein autorisierter Administrator sollte die Cloudflare-Zone, die Origin-Zugriffsregeln und die jüngsten Infrastrukturänderungen prüfen. Wenn der Origin über einen gleichwertigen direkten Test schnell antwortet, Cloudflare aber weiterhin den Fehler zurückgibt, übermitteln Sie die Ray ID, den genauen Zeitstempel und die Zeitzone, den Hostnamen, den Pfad, die Request-Methode und die Ergebnisse des direkten Tests an den Cloudflare-Account-Administrator oder den Supportkontakt.
Häufig gestellte Fragen
Was bedeutet ein mit Cloudflare gekennzeichneter 504 Gateway Timeout?
Im Allgemeinen bedeutet dies, dass der Cloudflare-Edge keine rechtzeitige Antwort vom konfigurierten Origin erhalten hat. Die Ursache kann eine langsame Anwendungsanfrage oder ein Problem beim Erreichen des Origins sein. Das Branding und die Ray ID zeigen an, dass Cloudflare den angezeigten Fehler erzeugt hat.
Behebt das Erhöhen des Nginx- oder Apache-Timeouts einen Cloudflare 504?
Nicht, wenn der Cloudflare-Edge zuerst sein eigenes Timeout erreicht. Origin-Timeout-Einstellungen sind relevant, wenn der Origin die Anfrage beendet, können Cloudflare aber nicht dazu bringen, länger als das für die Anfrage und den Tarif geltende Limit zu warten.
Warum liefern nur Exporte oder Reports einen 504?
Diese Vorgänge führen häufig mehr Arbeit aus als gewöhnliche Seitenanfragen. Messen Sie ihre Dauer und Abhängigkeiten und verlagern Sie die Verarbeitung anschließend in eine Hintergrundaufgabe mit Polling, einer Abschlussbenachrichtigung oder einem anderen Abrufmechanismus, anstatt eine einzelne Anfrage offen zu halten.
Wie kann ich testen, ob der Origin das Problem verursacht?
Verwenden Sie einen autorisierten direkten Origin-Test, der den korrekten Hostnamen, den Host-Header, das TLS-Verhalten, die Authentifizierung und das Routing beibehält. Wenn die Anfrage direkt langsam ist oder fehlschlägt, untersuchen Sie das Backend. Wenn sie direkt schnell ist, aber über Cloudflare fehlschlägt, untersuchen Sie Erreichbarkeit und Cloudflare-Konfiguration.
Kann eine Änderung des Cloudflare-Tarifs diesen 504 beseitigen?
Ein Tarif oder eine Account-Konfiguration kann andere Timeout-Optionen bieten. Eine Tarifänderung ersetzt jedoch nicht die Behebung eines überlasteten oder nicht erreichbaren Origins. Messen Sie zunächst die Anfrage und ermitteln Sie, ob das Timeout-Limit oder das Backend die tatsächliche Einschränkung darstellt.
Welche Informationen sollte ich bei der Eskalation eines Cloudflare 504 bereitstellen?
Stellen Sie die Ray ID, die genaue Uhrzeit und Zeitzone, den Hostnamen, den Pfad, die Request-Methode, den Umfang des Fehlers, den relevanten Zonen- oder Tarifkontext und die Ergebnisse eines gleichwertigen direkten Origin-Tests bereit.
Weitere Dokumentation
Für maßgebliche Referenzen konsultieren Sie die Cloudflare-Dokumentation zu Gateway- und Origin-5xx-Fehlern, tarifabhängigen Limits für Origin-Antwortzeiten, Cloudflare-IP-Ranges, DNS-Proxy-Status, SSL/TLS-Modi und Untersuchungen anhand der Ray ID. Konsultieren Sie außerdem die Dokumentation des für den betroffenen Endpunkt verwendeten Origin-Webservers, Application Frameworks, der Datenbank und der Job Queue, wenn Sie Anfragedauer, Kapazität und Hintergrundverarbeitung prüfen.