מדריך קלאודפלייר בעברית

תיעוד 108

יצירת כלל דרך API

עודכן לאחרונה: 14 בספטמבר 2026.

השתמשו ב-Rulesets API כדי ליצור כלל מטמון דרך API. להגדרת ה-API של Cloudflare עיינו ב-תיעוד ה-API.

#הגדרות בסיסיות של כלל

ביצירת כלל מטמון דרך API, ודאו שאתם:

  • מגדירים את פעולת הכלל ל-set_cache_settings.
  • מגדירים את הפרמטרים בשדה action_parameters לפי ה-הגדרות שברצונכם לעקוף עבור בקשות תואמות.
  • פורסים את הכלל ל-ruleset של נקודת הכניסה של השלב http_request_cache_settings.

#הליך

  1. השתמשו במתודה List zone rulesets כדי לקבל את רשימת הכללים שכבר קיימים ב-ruleset של נקודת הכניסה של השלב http_request_cache_settings.
  2. אם ה-ruleset של השלב אינו קיים, צרו אותו באמצעות הפעולה Create a zone ruleset. במאפייני ה-ruleset החדש, הגדירו את הערכים הבאים:
    • kind: zone
    • phase: http_request_cache_settings
  3. השתמשו בפעולה Update a zone ruleset כדי להוסיף כלל מטמון לרשימת כללי ה-ruleset. לחלופין, כללו את הכלל בבקשת Create a zone ruleset שהוזכרה בשלב הקודם.
  4. (אופציונלי) כדי לעדכן כלל מטמון קיים, השתמשו בפעולה Update a zone ruleset rule. לדוגמה, עיינו בסעיף שלהלן.

#דוגמאות לבקשות

הדוגמאות האלה מגדירות את כל ה-Cache Rules של אזור לכלל יחיד, מכיוון ששימוש ישיר בדוגמאות האלה יגרום למחיקה של כל הכללים הקיימים.

#דוגמה: שמירת הכל במטמון עבור example.com

Update a zone ruleset (bash)

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
						}
				}
		]
	}'

#דוגמה: הארכת זמן הקריאה עבור לקוחות Android

Update a zone ruleset (bash)

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
						}
				}
		]
	}'

#דוגמה: כיבוי Cache Reserve עבור נכסים שמתעדכנים בתדירות גבוהה

Update a zone ruleset (bash)

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
								}
						}
				}
		]
	}'

#דוגמה: הפעלת Origin Range Requests עבור קבצי מדיה גדולים

Update a zone entry point ruleset (bash)

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.request.uri.path.extension in {\"mp4\" \"mov\" \"m4v\"})",
						"description": "turn on origin range requests for large media files",
						"action": "set_cache_settings",
						"action_parameters": {
								"cache": true,
								"origin_range_requests": {
										"mode": "on"
								}
						}
				}
		]
	}'

#דוגמה: כיבוי ברירת המחדל של Origin Range Requests

Update a zone entry point ruleset (bash)

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": "true",
						"description": "turn off default Origin Range Requests",
						"action": "set_cache_settings",
						"action_parameters": {
								"origin_range_requests": {
										"mode": "off"
								}
						}
				}
		]
	}'

#דוגמה: כיבוי ברירות המחדל של TTL במטמון

Update a zone ruleset (bash)

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"
								}
						}
				}
		]
	}'

#דוגמה: שמירה במטמון של תגובות Vary צפויות

Update a zone entry point ruleset (bash)

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"
														]
												}
										}
								}
						}
				}
		]
	}'

#דוגמה: עדכון המיקום של כלל קיים

Update a zone ruleset rule (bash)

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"
		}
	}'

#הרשאות נדרשות לאסימון API

לאסימון ה-API שמשמש בבקשות API לניהול Cache Rules חייבות להיות ההרשאות הבאות:

  • Zone > Cache Rules > Edit
  • Account Rulesets > Edit
  • Account Filter Lists > Edit