Cache-Control mit Cloudflare konfigurieren
Schritt-für-Schritt-Anleitung: Sensible Endpunkte mit Cache Bypass absichern, Transform Rules für Header-Manipulation und Cloudflare Workers für granulare Cache-Kontrolle — mit CDN-Cache-Control erklärt.
Cache-Control mit Cloudflare einrichten
Cloudflare sitzt als CDN und Reverse Proxy vor Ihrem Ursprungsserver und kann Cache-Control-Header sowohl respektieren als auch überschreiben. Wichtig: Cloudflare hat seit Mai 2024 Page Rules als veraltet markiert — für neue Konfigurationen nutzen Sie Cache Rules und Transform Rules.
Diese Anleitung zeigt drei Wege: Cache Rules für einfaches Cache-Bypass, Transform Rules für Header-Manipulation, und Cloudflare Workers für komplexe programmatische Logik. Außerdem erklärt sie den wichtigen Unterschied zwischen Cache-Control (Browser + CDN) und CDN-Cache-Control (nur Cloudflare).
Cache Rules für sensible Pfade konfigurieren
Cache Rules ersetzen die veralteten Page Rules für Cache-Konfiguration. Im Cloudflare Dashboard unter Caching → Cache Rules können Sie Bypass-Regeln für sensible Pfade definieren, sodass Cloudflare diese Anfragen nicht cached.
# Cloudflare Cache Rules — Dashboard: Caching → Cache Rules
# Rule 1: API und Auth-Endpunkte — Cache bypassen
Wenn:
URI Path starts with "/api/"
OR URI Path starts with "/login"
OR URI Path starts with "/dashboard"
Dann:
Cache Status: Bypass
# Cloudflare cached diese Requests NICHT und leitet
# sie direkt an den Ursprungsserver weiter. Cloudflare empfiehlt, keine neuen Page Rules zu erstellen. Bestehende Page Rules funktionieren weiterhin, aber neue Konfigurationen sollten mit Cache Rules, Transform Rules und Redirect Rules umgesetzt werden.
Transform Rules für Header-Manipulation
Mit Cloudflare Transform Rules können Sie Cache-Control-Response-Header für ausgehende Antworten setzen oder überschreiben — ohne Serverkonfiguration und ohne Code-Änderungen. Das ist der empfohlene Weg, wenn Sie Header Ihres Ursprungsservers ergänzen oder korrigieren möchten.
# Cloudflare Transform Rules — Dashboard: Rules → Transform Rules
# Header Modification Rule: Cache-Control für sensible Pfade setzen
Wenn:
URI Path starts with "/api/"
OR URI Path starts with "/login"
Dann (Response Headers):
Set: Cache-Control → "no-store"
Set: CDN-Cache-Control → "no-store"
# Transform Rules überschreiben Header des Ursprungsservers Cache-Control als auch CDN-Cache-Control: no-store. CDN-Cache-Control steuert nur Cloudflare und hat Vorrang vor Cache-Control für das CDN-Caching — eine doppelte Absicherung. Cloudflare Workers für maximale Kontrolle
Cloudflare Workers sind serverless JavaScript-Funktionen, die am Edge ausgeführt werden. Sie ermöglichen programmatische Cache-Kontrolle — ideal für auth-basierte Cache-Policies, komplexe Bedingungen oder A/B-Testing.
// Cloudflare Worker — granulare Cache-Kontrolle
export default {
async fetch(request) {
const url = new URL(request.url);
let response = await fetch(request);
const sensitivePaths = ['/api/', '/login', '/logout', '/dashboard'];
if (sensitivePaths.some(path => url.pathname.startsWith(path))) {
response = new Response(response.body, response);
response.headers.set('Cache-Control', 'no-store');
response.headers.set('CDN-Cache-Control', 'no-store');
}
return response;
}
}; Konfiguration verifizieren
Cloudflare fügt den Response-Header CF-Cache-Status hinzu, der anzeigt, ob eine Antwort gecacht wurde. BYPASS bedeutet, dass Cloudflare die Anfrage direkt an den Ursprungsserver weitergeleitet hat. HIT bedeutet, dass Cloudflare aus dem Cache geantwortet hat.
# API-Endpunkt prüfen
curl -sI https://ihre-domain.de/api/user | grep -i "cache-control|cf-cache-status"
# Erwartete Ausgabe: Cache-Control: no-store
# CF-Cache-Status: BYPASS
# Öffentliche Seite prüfen
curl -sI https://ihre-domain.de/ | grep -i "cache-control|cf-cache-status"
# Erwartete Ausgabe: Cache-Control: public, max-age=3600
# CF-Cache-Status: HIT Der Wolf-Agents Web Security Check prüft automatisch, ob Cache-Control für sensible Bereiche korrekt konfiguriert ist — als Teil der 166 Prüfpunkte mit 8 Punkten für Cache-Control.
Wie steht Ihre Domain bei Cache-Control?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Cache-Control und CDN-Cache-Control bei Cloudflare?
Cache-Control steuert das Caching im Browser und in allen Caches (inklusive Cloudflare). CDN-Cache-Control ist ein Cloudflare-proprietärer Header, der nur Cloudflare-eigene Caches steuert und den Browser-Cache nicht beeinflusst. Das ermöglicht unterschiedliche Cache-Policies für CDN und Browser — z.B. CDN-Cache-Control: no-store (Cloudflare cached nicht) während Cache-Control: public, max-age=3600 (Browser cached 1 Stunde).
Warum sind Cloudflare Page Rules veraltet?
Cloudflare hat im Mai 2024 Page Rules offiziell als "legacy" markiert. Der Nachfolger sind spezialisierte Produkte: Cache Rules für Cache-Konfiguration, Transform Rules für Header-Manipulation, und Redirect Rules für Weiterleitungen. Page Rules haben ein Limit von 3 (Free) oder 25 (Pro) Regeln, während die neuen Produkte mehr Flexibilität bieten.
Kann Cloudflare Cache-Control-Header meines Ursprungsservers überschreiben?
Ja. Cloudflare kann Header überschreiben, ignorieren oder ergänzen — je nach Konfiguration. Standardmäßig respektiert Cloudflare Cache-Control-Header des Ursprungsservers. Mit "Override origin" in Cache Rules oder Transform Rules können Sie Cloudflare-eigene Regeln durchsetzen, die die Server-Header überschreiben.
Wie verhindere ich, dass Cloudflare sensible Seiten cached?
Erstellen Sie eine Cache Rule im Cloudflare Dashboard: Caching → Cache Rules → Create Rule. Setzen Sie als Bedingung den Pfad (z.B. URI Path starts with /api/ oder /dashboard/) und als Aktion "Bypass Cache". Cloudflare wird diese Anfragen nicht cachen und direkt an den Ursprungsserver weiterleiten.
Was ist Cloudflare Workers und wann sollte ich es für Cache-Control nutzen?
Cloudflare Workers sind serverless JavaScript-Funktionen, die am Edge ausgeführt werden. Für Cache-Control sind Workers nützlich, wenn Sie komplexe Logik benötigen: auth-token prüfen, A/B-Testing, oder unterschiedliche Cache-Headers je nach Nutzer-Segment setzen. Für einfache Path-basierte Regeln sind Cache Rules und Transform Rules ausreichend und einfacher zu warten.