INTEGRITY Dokumentace

Vytvoření pravidla přes API

Použijte Rulesets API vytvořit cache rule přes API. Postup konfigurace Cloudflare API najdete v Dokumentace API.

Základní nastavení pravidla

Při vytváření cache rule přes API se ujistěte, že:

Postup

  1. Použijte Seznam sad pravidel zóny metodu k získání seznamu pravidel, která již existují v http_request_cache_settings je vstupní sada pravidel dané fáze.
  2. Pokud fázový ruleset neexistuje, vytvořte jej pomocí Vytvoření rulesetu zóny operaci. Ve vlastnostech nového rulesetu nastavte následující hodnoty:
    • kind: zone
    • fáze: http_request_cache_settings
  3. Použijte Aktualizace sady pravidel zóny operaci k přidání cache rule do seznamu pravidel rulesetu. Případně pravidlo zahrňte do Vytvoření rulesetu zóny požadavek uvedený v předchozím kroku.
  4. (Volitelné) Chcete-li aktualizovat existující pravidlo mezipaměti, použijte Aktualizace pravidla v sadě pravidel zóny operaci. Příklad najdete v části níže.

Příklady požadavků

Tyto příklady nastavují všechny Cache Rules zóny na jediné pravidlo, protože jejich přímé použití způsobí odstranění všech stávajících pravidel.

Příklad: Cachování všeho pro example.com

Aktualizace sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"expression": "(http.host eq \"example.com\")",
						"description": "cache everything for example.com",
						"action": "set_cache_settings",
						"action_parameters": {
								"cache": true
						}
				}
		]
	}'

Příklad: Prodloužení read timeoutu pro klienty Android

Aktualizace sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"expression": "(http.user_agent contains \"Android\")",
						"description": "extend read timeout for android clients",
						"action": "set_cache_settings",
						"action_parameters": {
								"cache": true,
								"read_timeout": 300
						}
				}
		]
	}'

Příklad: Vypnutí Cache Reserve pro často aktualizované prostředky

Aktualizace sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"expression": "(starts_with(http.request.uri, \"/feed/\"))",
						"description": "disable cache reserve for frequently updated assets",
						"action": "set_cache_settings",
						"action_parameters": {
								"cache": true,
								"cache_reserve": {
										"enabled": false
								}
						}
				}
		]
	}'

Příklad: Vypnutí výchozích cache TTL

Aktualizace sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"expression": "(http.host eq \"example.com\")",
						"description": "turn off default cache ttls",
						"action": "set_cache_settings",
						"action_parameters": {
								"cache": true,
								"edge_ttl": {
										"mode": "bypass_by_default"
								}
						}
				}
		]
	}'

Příklad: Cachování očekávaných odpovědí Vary

Aktualizace vstupní sady pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_cache_settings/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"expression": "(http.host eq \"example.com\")",
						"description": "cache expected vary responses",
						"action": "set_cache_settings",
						"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"
														]
												}
										}
								}
						}
				}
		]
	}'

Příklad: Aktualizace pozice existujícího pravidla

Aktualizace pravidla v sadě pravidel zóny
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules/$RULE_ID" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"expression": "(http.host eq \"example.com\")",
		"description": "cache everything for example.com",
		"action": "set_cache_settings",
		"action_parameters": {
				"cache": true
		},
		"enabled": true,
		"position": {
				"before": "da5e8e506c8e7877fe06cdf4c41add54"
		}
	}'

Požadovaná oprávnění API tokenu

API token použitý v API požadavcích pro správu Cache Rules musí mít následující oprávnění: