跳转到内容
搜索文档

部署带有规则集、标记和规则覆盖的托管规则集

最后更新 查看 MarkdownAgent 设置

在您的阶段入口点规则集中结合使用规则集覆盖、标记覆盖和规则覆盖,来自定义托管规则集的执行。

  1. 添加规则到一个阶段入口点规则集以执行托管规则集。
  2. 配置规则集覆盖,禁用托管规则集中的所有规则。
  3. 配置标记覆盖,为具有给定标记的规则设置操作。
  4. 配置规则覆盖,为您想要执行的规则设置操作。

区域(Zone)级别示例

本示例使用更新区域入口点规则集操作在单个 PUT 请求中执行以下操作:

  • http_request_firewall_managed 阶段入口点规则集添加一条执行托管规则集的规则。
  • 使用类别覆盖启用带有 wordpressdrupal 标记的规则,并将其操作设置为 log
  • 添加一个启用单条规则的规则覆盖。

在本示例中:

  • "id": "<MANAGED_RULESET_ID>" 定义了要为寻址到某区域($ZONE_ID)的请求执行的托管规则集。
  • "enabled": false 在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。
  • "categories": [{"category": "wordpress", "action": "log", "enabled": true}, {"category": "drupal", "action": "log", "enabled": true}] 在标记级别定义了一个覆盖,以启用带有 wordpressdrupal 标记的规则并将其操作设置为 log
  • "rules": [{"id": "<RULE_ID>", "action": "block", "enabled": true}] 在规则级别定义了一个覆盖,启用一条单独的规则并将操作设置为 block

Required API token permissions

At least one of the following token permissions is required:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Update a zone entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "true",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "wordpress",
														"action": "log",
														"enabled": true
												},
												{
														"category": "drupal",
														"action": "log",
														"enabled": true
												}
										],
										"rules": [
												{
														"id": "<RULE_ID>",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'

账户(Account)级别示例

本示例使用更新账户入口点规则集操作在单个 PUT 请求中执行以下操作:

  • http_request_firewall_managed 阶段入口点规则集添加一条规则,该规则为区域 example.com 执行托管规则集。
  • 使用类别覆盖启用带有 wordpressdrupal 标记的规则,并将其操作设置为 log
  • 添加一个启用单条规则的规则覆盖。

在本示例中:

  • "id": "<MANAGED_RULESET_ID>" 定义了要为寻址到 example.com 的请求执行的托管规则集。
  • "enabled": false 在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。
  • "categories": [{"category": "wordpress", "action": "log", "enabled": true}, {"category": "drupal", "action": "log", "enabled": true}] 在标记级别定义了一个覆盖,以启用带有 wordpressdrupal 标记的规则并将其操作设置为 log
  • "rules": [{"id": "<RULE_ID>", "action": "block", "enabled": true}] 在规则级别定义了一个覆盖,启用一条单独的规则并将操作设置为 block

Required API token permissions

At least one of the following token permissions is required:
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • Transform Rules Write
  • Select Configuration Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
Update an account entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "wordpress",
														"action": "log",
														"enabled": true
												},
												{
														"category": "drupal",
														"action": "log",
														"enabled": true
												}
										],
										"rules": [
												{
														"id": "<RULE_ID>",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'

这篇文档对您有帮助吗?