RatgeberPlattformen und Tools

Cloudflare Cache Rules einrichten, ohne private Inhalte auszuliefern

Gemeinsam gecachte HTML-Antworten sind nur sicher, wenn Benutzerzustände und Ausnahmen geprüft wurden.

Zwei Cache-Ebenen getrennt durch ein Sicherheitsschloss
Auf dieser Seite

Caching ist am sichersten, wenn es unspektakulär ist. Statische Stylesheets, Bilder und Skripte profitieren in der Regel von der Wiederverwendung; Anmeldeseiten, Warenkörbe, Kontoseiten und Vorschauen lassen sich oft nicht genauso behandeln. Eine einzige pauschale Regel nach dem Muster „alles cachen“ kann eine Seite schnell machen und zugleich einem Besucher eine Antwort ausliefern, die für jemand anderen bestimmt war. Ziehen Sie die Grenze zwischen öffentlichen und personalisierten Inhalten, bevor Sie die Geschwindigkeit optimieren.

Laut der Cloudflare-Dokumentation zum Standard-Caching speichert der Dienst grundsätzlich ausgewählte Dateiendungen zwischen und standardmäßig weder HTML noch JSON. Sie erklärt außerdem, wie Cache-Header des Ursprungsservers und Eigenschaften der HTTP-Antwort beeinflussen, ob etwas zwischengespeichert werden kann. Eine benutzerdefinierte Regel kann diese Annahmen ändern. Deshalb ist es riskant, eine aggressive Regel aus einem Tutorial zu kopieren.

Routen nach Zielgruppe und Zustand einordnen

Teilen Sie die URLs in öffentliche statische Dateien, öffentliches anonymes HTML, Seiten, die je nach Cookie oder Anmeldestatus variieren, Administration, APIs und unvorhersehbare Endpunkte ein. Kennzeichnen Sie Vorschaulinks, Checkout-Schritte, Kommentaraktionen und passwortgeschützte Inhalte ausdrücklich. Hängt eine Seite von der Identität des Besuchers ab, ist die sicherste erste Entscheidung, den gemeinsamen Cache zu umgehen, bis die Anwendung dafür ausgelegt ist.

Prüfen Sie, wie der Ursprungsserver die Header Cache-Control, Set-Cookie und Vary sendet. Eine anonyme Seite kann trotzdem ein harmloses Cookie setzen, während eine personalisierte Seite womöglich keinen schützenden Header setzt. Die tatsächliche Antwort zu testen ist verlässlicher, als das Verhalten allein aus dem URL-Pfad abzuleiten.

Enge Regeln vor breiten Regeln anlegen

Im Cloudflare-Dashboard können Sie mit Cache Rules einen passenden Ausdruck wählen und für die erfassten Anfragen dann entweder den Cache umgehen oder sie für das Caching zulassen. Die Anleitung zum Erstellen von Regeln erläutert Reihenfolge und Bereitstellung der Regeln. Beginnen Sie mit einem restriktiven Test, der auf öffentliche Inhalte zielt, statt auf jede Anfrage an den Hostnamen.

Berücksichtigen Sie Reihenfolge und Überschneidungen der Regeln. Eine Umgehungsregel für Anmeldepfade darf nicht versehentlich durch eine spätere breite Regel übersteuert werden. Testen Sie Parametervarianten, Sprachpfade, gerätespezifische Inhalte und Cookie-Zustände. Wenn Sie Cache-Schlüssel ändern, überprüfen Sie, ob Inhaltsvarianten tatsächlich unterschiedliche Schlüssel erzeugen.

Vorsicht beim Überschreiben der Edge TTL

Eine Edge Cache TTL kann ändern, wie lange Cloudflare eine Antwort vorhält, und je nach Einstellung Anweisungen des Ursprungsservers überschreiben. Die Dokumentation der verfügbaren Einstellungen erläutert die Optionen und weist darauf hin, dass das Verhalten mit Headern und anderer Konfiguration zusammenwirkt. Legen Sie keine lange gemeinsame TTL für HTML fest, das Sie nicht sicher invalidieren können.

Wählen Sie vor der Bereitstellung ein Verfahren zum Leeren des Caches. Redaktionelle Publisher müssen Aktualisierungen und Korrekturen schnell sichtbar machen. Eine fehlerhafte Artikelüberschrift, die am Edge vorgehalten wird, kann sichtbar bleiben, nachdem sie im CMS korrigiert wurde, sofern die Invalidierung des Caches nicht alle relevanten Varianten erreicht.

Einen Test anonym und angemeldet durchführen

Rufen Sie einen öffentlichen Artikel ohne Cookies auf und dann mit einer normalen angemeldeten Sitzung. Prüfen Sie die Netzwerkantwort und alle Header zum Cache-Status. Wiederholen Sie den Vorgang mit unterschiedlichen Testkonten in einer sicheren Umgebung. Vergewissern Sie sich, dass private Namen, Tokens, Warenkörbe und benutzerspezifische Navigation niemals zwischen Konten übertragen werden. Testen Sie auch Weiterleitungen und Fehlerseiten. Ein HIT beweist nicht, dass eine Cache-Regel korrekt ist; Korrektheit hat Vorrang.

Führen Sie ein kurzes Verzeichnis der Regeln mit dem Grund für jede Ausnahme, der Person, die sie freigegeben hat, und einer bekanntermaßen sicheren Test-URL. Eine unerklärte Regel aus einer früheren Bereitstellung sollte nicht auf unbestimmte Zeit bestehen bleiben, nur weil niemand weiß, was sie bewirkt. Prüfen Sie Änderungen am Cache gemeinsam mit Releases, die Authentifizierung und Checkout betreffen.

Überwachen Sie nach der Bereitstellung die Last am Ursprungsserver, die Cache-Trefferquoten, veraltete Inhalte und Fehlerraten. Halten Sie die Regeln aus der Zeit vor der Änderung für einen Rollback bereit. Wo die Korrektheit unsicher ist, umgehen Sie den Cache und korrigieren Sie den Vertrag der Anwendung, bevor Sie eine weitere Optimierung versuchen.

Eine Route kann öffentlich wirken und dennoch unsichtbar nach Anfrage-Headern, Land, Gerät oder einem A/B-Test variieren. Wenn Sie eine einzige Darstellung für alle zwischenspeichern, können die falsche Sprache oder Variante bei der falschen Person ankommen. Bevor Sie einen benutzerdefinierten Cache-Schlüssel entwerfen, ermitteln Sie genau, welche Eingabe die HTML-Antwort verändert. Cloudflare dokumentiert Optionen für Query-Strings, Header und Cookies, doch wer jeden Header in einen Schlüssel aufnimmt, kann die Cache-Effizienz zerstören und unvorhersehbare Kombinationen erzeugen.

Testen Sie für jede wichtige Route drei verschiedene Zustände: einen ersten Besuch ohne Cookies, einen wiederholten anonymen Besuch und einen angemeldeten Besuch. Notieren Sie den Antwortstatus, Cache-Control, Set-Cookie, CF-Cache-Status, sofern vorhanden, und einen kurzen Fingerabdruck des sichtbaren Inhalts. Wiederholen Sie dies nach einer redaktionellen Korrektur und einem gezielten Leeren des Caches. Dies ist eine hypothetische Methode zur Qualitätssicherung, keine Aussage über die Konfiguration einer bestimmten Website.

Seien Sie bei Fehlerseiten und Weiterleitungen besonders vorsichtig. Wird eine vorübergehende Wartungsantwort, eine Weiterleitung zur Authentifizierung oder ein lokalisiertes Ziel zu breit zwischengespeichert, kann das wie ein Ausfall der Website wirken, obwohl der Ursprungsserver einwandfrei arbeitet. Führen Sie Regeln zunächst für ein kleines Pfadmuster ein und testen Sie nach Möglichkeit auf einem sicheren Hostnamen. Sind die Symptome nicht eindeutig, kehren Sie zum Standardverhalten zurück und untersuchen Sie das Problem, bevor Sie das Caching breiter zulassen.

Geschwindigkeit erhalten, ohne Vertrauen zu verlieren

Das Caching statischer Dateien bringt oft spürbare Vorteile, ohne personalisiertes HTML anzutasten. Nehmen Sie Änderungen jeweils für eine Klasse von Routen vor, schreiben Sie die Ausnahmen auf und prüfen Sie nach CMS- oder Authentifizierungs-Updates erneut. Unser Beitrag zum Sicherheitsupdate von Cloudflare behandelt ein separates Schutzthema; der Leitfaden zu WordPress-Staging befasst sich mit dem Testen von Änderungen vor dem Produktivbetrieb. Schnelle Seiten sind nur dann wertvoll, wenn sie den richtigen Inhalt zeigen.

Aus der englischen Ausgangsausgabe übersetzt.

Behandelte PlattformenCloudflare

Primärquellen