跳转到内容
搜索文档

API 示例

最后更新 查看 MarkdownAgent 设置

使用 Rulesets API 通过 API 配置自定义规则。

skip 操作支持不同的 skip 选项,具体取决于您希望跳过的安全功能或产品。

继续之前

本页包含自定义规则中不同 skip 规则场景的示例。请注意以下事项:

  • $ZONE_ID 值是您要添加规则的 zone ID

  • $RULESET_ID 值是 http_request_firewall_custom phase 的入口点规则集 ID。有关获取此规则集 ID 的详情,请参阅列出并查看规则集。本页中的 API 示例使用 Create a zone ruleset rule 操作,向现有规则集添加 skip 规则。

    但入口点规则集可能尚不存在。此时,请调用 Create a zone ruleset 操作,以创建带 skip 规则的入口点规则集。示例请参阅创建规则集

  • 尽管每个示例只包含一个操作参数,您可以通过同时指定 rulesetphasesproducts 操作参数,在同一规则中使用多个 skip 选项。

跳过当前规则集中的剩余规则

此示例调用 Create a zone ruleset rule 操作,向 ID 为 $RULESET_ID 的现有 http_request_firewall_custom phase 入口点规则集添加 skip 规则。对于匹配规则表达式的请求,该规则将跳过当前规则集中的所有剩余规则。

Create a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "skip",
		"action_parameters": {
				"ruleset": "current"
		},
		"expression": "http.request.uri.path contains \"/skip-current-ruleset/\"",
		"description": ""
	}'

跳过一个 phase

此示例调用 Create a zone ruleset rule 操作,向 ID 为 $RULESET_ID 的现有 http_request_firewall_custom phase 入口点规则集添加规则。对于匹配规则表达式的请求,该规则将跳过 http_ratelimit phase。

Create a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "skip",
		"action_parameters": {
				"phases": [
						"http_ratelimit"
				]
		},
		"expression": "http.request.uri.path contains \"/skip-phase/\"",
		"description": ""
	}'

可跳过的 phase 列表请参阅 Available skip options

跳过一个 phase 且不为匹配请求记录日志

此示例调用 Create a zone ruleset rule 操作,添加一条规则,用于:

  • 跳过 http_ratelimit phase
  • 禁用当前规则的事件日志记录
Create a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "skip",
		"action_parameters": {
				"phases": [
						"http_ratelimit"
				]
		},
		"logging": {
				"enabled": false
		},
		"expression": "http.request.uri.path contains \"/disable-logging/\"",
		"description": ""
	}'

有关为匹配 skip 规则的请求禁用日志记录的更多信息,请参阅 Available skip options

跳过安全产品

此示例使用 Create a zone ruleset rule 操作添加规则,对于匹配规则表达式的请求,跳过 Zone LockdownUser Agent Blocking 产品。

Create a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "skip",
		"action_parameters": {
				"products": [
						"zoneLockdown",
						"uaBlock"
				]
		},
		"expression": "http.request.uri.path contains \"/skip-products/\"",
		"description": ""
	}'

可跳过的产品列表请参阅 Available skip options

跳过当前 phase 中的剩余规则

此示例调用 Create a zone ruleset rule 操作,向 ID 为 $RULESET_ID 的现有 http_request_firewall_custom phase 入口点规则集添加 skip 规则。对于匹配规则表达式的请求,该规则将跳过 http_request_firewall_custom phase 中的所有剩余规则。

Create a zone ruleset rulebash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"action": "skip",
		"action_parameters": {
				"phase": "current"
		},
		"expression": "http.request.uri.path contains \"/skip-current-ruleset/\"",
		"description": ""
	}'

目前,此 skip 选项仅在 zone 级别可用。更多详情请参阅 Available skip options

这篇文档对您有帮助吗?