← Cloudflare Cache / cache / how-to / cache-rules
Dostupná nastavení
Toto jsou nastavení, která můžete konfigurovat při vytváření cache rule.
Pole
Pole dostupná pro porovnávací výrazy Cache Rule v Expression Builder jsou:
- URI Full:
http.request.full_uri - URI:
http.request.uri - URI Path:
http.request.uri.path - URI Query String:
http.request.uri.query - Cookie -
http.cookie - Hostname:
http.host - Referer -
http.referer - SSL/HTTPS -
ssl - User Agent:
http.user_agent - X-Forwarded-For -
http.x_forwarded_for - Hlavičky požadavku -
http.request.headers - Hodnota cookie -
http.request.cookies - Přípona souboru:
http.request.uri.path.extension
Pokud vyberete Edit expression možnosti můžete zadat kteroukoli z dostupná pole.
Operátory
Pro výrazy Cache Rule jsou k dispozici tyto operátory:
- zástupný znak
- striktní zástupný znak
- equals
- does not equal
- contains
- does not contain
- matches regex
- does not match regex
- starts with
- ends with
- does not start with
- does not end with
- is in
- is not in
- is in list
- is not in list
Způsobilost pro ukládání do mezipaměti
V Způsobilost pro ukládání do mezipaměti, máte možnost vybrat Bypass cache pokud nechcete, aby se odpovídající požadavky ukládaly do mezipaměti, nebo Způsobilé pro cache pokud chcete, aby se je Cloudflare pokusilo uložit do mezipaměti.
Bypass cache
Při vytváření cache rule máte možnost vybrat Bypass cache pokud nechcete, aby se odpovídající příchozí požadavky ukládaly do mezipaměti. Případně můžete použít Development Mode, pokud chcete cache obcházet po kratší dobu.
Nastavení způsobilosti pro cache
Když vyberete Způsobilé pro cache, můžete změnit níže popsaná nastavení konfigurace.
Edge TTL
Edge Cache TTL označuje maximální dobu platnosti cache (TTL), tedy dobu, po kterou má být prostředek považován za aktuální a dostupný k odeslání z cache Cloudflare v reakci na požadavky. Toto nastavení má tři hlavní možnosti:
- Použít hlavičku cache-control, pokud je přítomna, jinak mezipaměť obejít: Pokud odpověď obsahuje hlavičku cache-control, řídí se jejími direktivami. Pokud ne, ukládání do mezipaměti se zcela vynechá.
- Použít hlavičku cache-control, pokud je přítomna, jinak použít výchozí chování ukládání do mezipaměti Cloudflare: Pokud odpověď obsahuje hlavičku cache-control, řídí se jejími direktivami. Pokud ne, ukládá do mezipaměti podle našich výchozí nastavení edge TTL.
- Ignorovat hlavičku cache-control a použít tuto TTL: Zcela ignoruje jakoukoli hlavičku cache-control v odpovědi a místo toho uloží odpověď do mezipaměti na dobu určenou v rozevírací nabídce časování.
Dále můžete zvolit, jak dlouho se má obsah odpovídající danému stavovému kódu ukládat do mezipaměti globální sítě Cloudflare. V Status Code TTL sekci můžete definovat dobu TTL pro jeden nebo více stavových kódů odpovědí z origin serveru. Toto nastavení lze použít na Jednotlivý kód stavový kód, na Větší nebo rovno nebo Menší nebo rovno stavový kód, nebo na Rozsah stavových kódů. TTL stavových kódů jsou podobné jako Ignorovat hlavičku cache-control a použít tuto TTL v tom, že hlavička cache-control v odpovědi se ignoruje ve prospěch TTL zadaného v cache rule. Další informace najdete v Status code TTL.
Informace o API
Název konfiguračního objektu API: "edge_ttl".
| Hodnoty API | Konfigurace |
|---|---|
respect_origin |
Použít hlavičku cache-control, pokud je přítomna, jinak použít výchozí Chování ukládání do mezipaměti Cloudflare pokud ne. |
override_origin |
Ignorovat hlavičku cache-control a použít tuto TTL. |
bypass_by_default |
Použít hlavičku cache-control, pokud je přítomna, jinak mezipaměť obejít. |
"action_parameters": {
"cache": true,
"edge_ttl": {
"status_code_ttl": [
{
"status_code_range": {
"to": 299
},
"value": 86400
},
{
"status_code_range": {
"from": 300,
"to": 499
},
"value": 0 // no-cache
},
{
"status_code_range": {
"from": 500
},
"value": -1 // no-store
}
],
"mode": "respect_origin"
}
}
Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Browser TTL
Browser TTL označuje maximální dobu životnosti (TTL), po kterou má být daný prostředek dostupný k poskytnutí z mezipaměti prohlížeče.
Vyberte, zda chcete Bypass cache, Respect origin, nebo Přepsat origin. Pokud chcete přepsat hodnotu browser TTL, v rozbalovací nabídce určete, jak dlouho zůstanou prostředky uložené v mezipaměti klientských prohlížečů platné. Další informace najdete v Browser Cache TTL.
Informace o API
Název konfiguračního objektu API: "browser_ttl".
Hodnoty API pro "mode" vlastnost: "respect_origin", "override_origin", "bypass_by_default".
Hodnoty API pro "default" vlastnost (celé číslo): dostupné hodnoty závisí na vašem plánu. Více informací najdete v Browser Cache TTL.
"action_parameters": {
"cache": true,
"browser_ttl" : {
"mode": "override_origin",
"default": 1000
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Cache Key
Cache keys označují kritéria, podle kterých Cloudflare určuje, jak ukládat prostředky do naší mezipaměti. Úpravou Cache Key můžete určit, jak Cloudflare znovu využije konkrétní položky mezipaměti napříč požadavky, nebo jak tyto položky sdílí mezi koncovými uživateli pro jemnější granularitu.
Pro délku cache key neexistuje explicitní limit. Celková velikost požadavku (včetně hlaviček použitých v cache key) však nesmí překročit limity požadavků. Zahrnutí velkých hodnot (například souborů cookie) do klíče mezipaměti může zvýšit latenci jednotlivých požadavků. Maximální počet parametrů řetězce dotazu ve vlastní konfiguraci klíče mezipaměti je 100.
Definujte součásti požadavku použité k definování vlastní Cache Key, přizpůsobením následujících možností:
- Můžete zapnout nebo vypnout Cache deception armor, Cache podle typu zařízení, a Seřadit query string.
Zákazníci s plánem Enterprise mají k dispozici tyto další možnosti pro vlastní Cache Keys:
-
V Query string sekci můžete vybrat Všechny parametry řetězce dotazu, Všechny parametry řetězce dotazu kromě a zadejte výjimku, Žádné parametry dotazu kromě a zadejte parametry, nebo Ignorovat řetězec dotazu (dostupné také pro zákazníky s platbou dle spotřeby).
-
V Hlavičky sekci můžete zadat názvy hlaviček spolu s jejich hodnotami. U vlastních hlaviček jsou hodnoty volitelné, u následujících omezených hlaviček ale musíte uvést jednu až tři konkrétní hodnoty:
acceptaccept-charsetaccept-encodingaccept-datetimeaccept-languagerefereruser-agent
Chcete-li zkontrolovat přítomnost hlavičky bez zahrnutí její hodnoty, použijte Kontrola přítomnosti možnost. Můžete si také zvolit, zda Zahrnout hlavičku originu.
-
V Cookie sekci můžete zahrnout názvy cookies a jejich hodnoty a zkontrolovat přítomnost jiné cookie.
-
V Host sekci můžete vybrat Použití původního hostitele a Přeložený host. V Uživatel sekci můžete vybrat Typ zařízení, Země, a Jazyk. Pomocí Přeložený host znamená, že Cache Key bude obsahovat hostname, který byl použit k překladu IP adresy origin serveru, což se může lišit v závislosti na tom, zda je resolve override funkce je zapnutá, nebo ne.
Informace o API
Název konfiguračního objektu API: "cache_key".
Hodnoty API: "ignore_query_strings_order", "cache_deception_armor", "cache_by_device_type", "custom_key" ("header", "cookie", "host", "query_string", "user").
"action_parameters": {
"cache": true,
"cache_key": {
"ignore_query_strings_order": true,
"cache_deception_armor": true,
"custom_key": {
"query_string": {
"include": [
"*"
]
},
"header": {
"include": [
"header1"
],
"check_presence": [
"header_1"
],
"contains": {
"accept-encoding": ["br", "zstd"]
}
},
"cookie": {
"include": [
"cookieName1"
],
"check_presence": [
"cookie_1"
]
},
"user": {
"device_type": true,
"geo": true,
"lang": true
},
"host": {
"resolved": false
}
}
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Cache Reserve Eligibility
Způsobilost pro Cache Reserve umožňuje určit, které prostředky webu mají být způsobilé pro naši trvalou mezipaměť nazvanou Cache Reserve. Pokud požadavek odpovídá a zároveň splňuje kritéria způsobilosti, Cloudflare zapíše prostředek do cache reserve. To vyžaduje doplňkový tarif cache reserve.
Toto pravidlo lze rovněž použít k určení způsobilosti zdrojů webu pro Cache Reserve na základě jejich velikosti. Pokud například určíte, že způsobilá jsou aktiva o velikosti 100 MB a více, Cloudflare bude vyhledávat aktiva způsobilá pro Cache Reserve o velikosti 100 MB a více a trvale ukládat pouze tato aktiva.
Informace o API
Název konfiguračního objektu API: "cache_reserve".
Název vlastnosti API pro povolení Cache Reserve: "eligible" (booleovská hodnota).
"action_parameters": {
"cache": true
"cache_reserve": {
"eligible": true,
"minimum_file_size": 100000
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Ukládání do mezipaměti podle portu (pouze Enterprise)
Cloudflare podporuje několik síťové porty ve výchozím nastavení, například 80 nebo 443. Některé porty, tradičně správcovské porty, jsou podporované, ale mají ukládání do mezipaměti vypnuté, protože slouží ke správě citlivých informací, které by se do mezipaměti ukládat neměly. Zákazníci na plánu Enterprise, kteří chtějí na těchto správcovských portech ukládání do mezipaměti povolit, mohou zadat požadovaný port a mezipaměť na něm zapnout.
Informace o API
Název vlastnosti konfigurace API: "additional_cacheable_ports" (pole celočíselných hodnot).
"action_parameters": {
"cache": true
"additional_cacheable_ports": [8443, 8080]
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Proxy Read Timeout (pouze Enterprise)
Určuje časový limit mezi dvěma po sobě jdoucími operacemi čtení na vašem origin serveru. Výchozí hodnotu najdete v Limity připojení tabulka. Pokud se snažíte omezit HTTP 524 chyby způsobené vypršením časového limitu na origin serveru, zkuste tuto hodnotu limitu zvýšit pomocí API endpointu níže.
Informace o API
Název vlastnosti konfigurace API: "read_timeout" (celé číslo).
"action_parameters": {
"cache": true,
"read_timeout": 900
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Zobrazovat zastaralý obsah během revalidace
Určuje, zda Cloudflare zobrazuje zastaralý (stale) obsah po dobu aktualizace nejnovějšího obsahu z origin serveru. Pokud je zobrazování zastaralého obsahu zakázáno, Cloudflare zastaralý obsah neposkytuje, dokud nezíská nejnovější obsah z origin serveru.
Informace o API
Název vlastnosti konfigurace API: "serve_stale" > "disable_stale_while_updating" (booleovská hodnota).
"action_parameters": {
"cache": true,
"serve_stale": {
"disable_stale_while_updating": true
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Respect Strong ETags
Zapíná nebo vypíná kontrolu bajtové shody mezi mezipamětí Cloudflare a origin serverem. Pokud je povoleno, Cloudflare použije silný ETag ověřování hlavičky, aby bylo zajištěno, že položky v mezipaměti Cloudflare a na origin serveru jsou bajtově identické. Pokud je vypnuto, Cloudflare hlavičky ETag převede na slabý ETag hlaviček.
Informace o API
Název vlastnosti konfigurace API: "respect_strong_etags" (booleovská hodnota).
"action_parameters": {
"cache": true,
"respect_strong_etags": true
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Předání chybové stránky originu (pass-through)
Zapíná nebo vypíná chybové stránky Cloudflare generované na základě chybových HTTP stavových kódů odeslaných origin serverem. Pokud je nastavení povoleno, umožňuje použití chybových stránek vydaných origin serverem.
Informace o API
Název vlastnosti konfigurace API: "origin_error_page_passthru" (booleovská hodnota).
"action_parameters": {
"cache": true,
"origin_error_page_passthru": true
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Origin Cache Control (pouze Enterprise)
Když je tato možnost zapnutá, Cloudflare se snaží striktně dodržovat RFC 7234 ↗. Zákazníci na plánu Enterprise mají možnost zvolit, zda se Cloudflare bude tímto chováním řídit. Zákazníci na plánech Free, Pro a Business mají tuto možnost ve výchozím nastavení povolenou a nemohou ji vypnout.
Informace o API
Název vlastnosti konfigurace API: "origin_cache_control" (booleovská hodnota).
"action_parameters": {
"cache": true
"origin_cache_control": true
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API.
Vary
Vary hlavička odpovědi umožňuje vašemu originu cachovat více verzí stejné URL podle hlaviček požadavku. Použijte vary objekt ke konfiguraci toho, jak Cloudflare zpracovává jednotlivé hlavičky uvedené vaším origin serverem v jeho Vary odpověď. Informace o tom, jak Vary ovlivňuje cache key a jak funguje normalizace, najdete v Vary.
vary objekt podporuje následující klíče:
| Key | Povinné | Popis |
|---|---|---|
default |
Ano | Konfigurace pro libovolný název hlavičky v odpovědi originu Vary odpověď, která není zahrnuta v headers. |
headers |
Ne | Mapa názvů hlaviček žádosti psaných malými písmeny na konfigurační objekty. |
Pokud vary objekt je vynechán, toto nastavení Vary v Cache Rules je vypnuté. Jiné chování Vary, například Vary: *, Vary pro obrázky, a zpracování komprese, zůstává neovlivněno. Pokud vary objekt je přítomen, default je povinná. Prázdná vary objekt je neplatný.
Každý objekt konfigurace hlavičky a default objekt musí obsahovat action s klíčem nastaveným na jednu z hodnot normalize, passthrough, nebo bypass. Viz Akce s pokyny, kdy který z nich použít.
U některých názvů hlaviček lze zadat další parametry:
| Hlavička | Další klíč | Popis |
|---|---|---|
accept |
media_types |
Seznam typů MIME, které se mají zahrnout při normalizaci Accept hlavičku. Maximálně 10 položek. |
accept-language |
languages |
Seznam jazyků, které se mají zahrnout při normalizaci Accept-Language hlavičku. Maximálně 20 položek. |
U většiny nasazení začněte s restriktivním default a explicitní konfiguraci pro jednotlivé hlavičky:
- Použijte
defaultnastaveno nabypassaby se předešlo ukládání variant kvůli neočekávaným hodnotám originuVaryhlaviček. - Přidejte explicitní
headerszáznamy pro hlavičky, podle kterých se má odpověď vašeho originu lišit. - Použijte
normalizeproaccept,accept-language, aaccept-encodingpokud váš origin nevyžaduje nezpracované hodnoty hlaviček. - Použijte
media_typesalanguagesallowlisty, pokud znáte přesné varianty, které váš origin server umí poskytovat. - Použijte
passthroughpouze v případě, že přesné nezpracované hodnoty hlaviček mají určovat různé verze v mezipaměti. - Použijte
bypasspro hlavičky s vysokou kardinalitou, jako jeuser-agent, cookies nebo hlaviček požadavku s hodnotami pro jednotlivé uživatele.
Platí následující limity a validační pravidla:
- Názvy hlaviček v
headersmusí být malými písmeny. - Názvy hlaviček mohou obsahovat písmena, číslice, podtržítka a spojovníky.
- Názvy hlaviček nesmí přesáhnout 128 znaků.
- Názvy hlaviček začínající na
cf-nebocf_nejsou povoleny. - Některé hop-by-hop hlavičky nebo hlavičky cache-control, například
connection,host, acache-control, nejsou povoleny. headersmůže obsahovat až 50 položek.accept.media_typesmůže obsahovat až 10 položek.accept-language.languagesmůže obsahovat až 20 položek.- Hodnoty v
media_typesalanguagesmusí být neprázdný tisknutelný řetězec ASCII.
Informace o API
Název konfiguračního objektu API: "vary".
Následující příklad normalizuje accept a accept-language, a cache obchází pro jakoukoli jinou hlavičku v origin Vary odpověď:
"action_parameters": {
"cache": true,
"vary": {
"default": {
"action": "bypass"
},
"headers": {
"accept": {
"action": "normalize",
"media_types": ["text/html", "application/json"]
},
"accept-language": {
"action": "normalize",
"languages": ["en", "fr", "de"]
}
}
}
}Viz Vytvoření pravidla mezipaměti přes API pro úplné příklady API, nebo na Příklad pro Terraform.