在阶段入口点规则集中使用规则集覆盖和规则覆盖,以便仅执行托管规则集中的所选规则。
以下 PUT 请求使用更新区域入口点规则集操作定义了一项配置,该配置仅执行 http_request_firewall_managed 阶段托管规则集中的两条规则。
在本示例中:
"id": "<MANAGED_RULESET_ID>"定义了要为指定区域($ZONE_ID)中的请求执行的托管规则集。"enabled": false在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。"rules": [{"id": "<RULE_ID_1>", "action": "block", "enabled": true}, {"id": "<RULE_ID_2>", "action": "log", "enabled": true}]定义了一个规则级别的覆盖列表,以启用两条单独的规则。
Required API token permissions
At least one of the following token permissions is required:Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
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,
"rules": [
{
"id": "<RULE_ID_1>",
"action": "block",
"enabled": true
},
{
"id": "<RULE_ID_2>",
"action": "log",
"enabled": true
}
]
}
}
}
]
}'以下 PUT 请求使用更新账户入口点规则集操作定义了一项配置,该配置仅执行 http_request_firewall_managed 阶段托管规则集中的两条规则。
在本示例中:
"id": "<MANAGED_RULESET_ID>"定义了要为寻址到example.com的请求执行的托管规则集。"enabled": false在规则集级别定义了一个覆盖,以禁用托管规则集中的所有规则。"rules": [{"id": "<RULE_ID_1>", "action": "block", "enabled": true}, {"id": "<RULE_ID_2>", "action": "log", "enabled": true}]定义了一个规则级别的覆盖列表,以启用两条单独的规则。
Required API token permissions
At least one of the following token permissions is required:Mass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteTransform Rules WriteSelect Configuration WriteAccount WAF WriteAccount Rulesets WriteLogs Write
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,
"rules": [
{
"id": "<RULE_ID_1>",
"action": "block",
"enabled": true
},
{
"id": "<RULE_ID_2>",
"action": "log",
"enabled": true
}
]
}
}
}
]
}'