跳转到内容
搜索文档

JSON object

最后更新 查看 MarkdownAgent 设置

防火墙规则示例 JSON 响应

Firewall Rules API 的 JSON 响应具有以下结构:

{
	"id": "772bf1026a72c400ea576db1ffa16407",
	"filter": {
		"id": "6f58318e7fa2477a23112e8118c66f61",
		"expression": "http.request.uri.path ~ \"^.*/wp-login.php$\" or http.request.uri.path ~ \"^.*/xmlrpc.php$\"",
		"paused": false,
		"description": "WordPress login paths",
		"ref": ""
	},
	"action": "challenge",
	"priority": 1000,
	"paused": false,
	"description": "Protect blog login page",
	"ref": ""
}

下表总结了对象属性:

名称描述约束条件
id
String
由 Cloudflare 生成的 UUIDv4 标识符。

唯一,只读

长度:32 个字符

filter
Object

一个包含用于评估此规则的表达式的 Cloudflare Filter 对象

action
String

当请求满足此规则的过滤器表达式时要采取的操作。

有关支持的值列表,请参阅 Firewall rules actions

priority
Number

确定该规则相对于其他规则的评估顺序。较低的值表示较高的优先级。没有值的规则将最后评估。如需指导,请参阅避免优先级冲突

只读

最大长度:32

paused
Boolean

当规则未激活时返回 true。使用 ref 来启用/禁用规则。

默认值:false

description
String
有关规则的信息性摘要。最大长度:500 个字符
ref
String
用于标记规则的短字符串。最大长度:50 个字符

避免优先级冲突

优先级在配置防火墙规则时起着关键作用。使用 Cloudflare Filters 时,可能会构建冲突的规则,例如:

  • 允许来自办公室 IP 范围的请求,以及
  • 阻止具有特定 user agent 的请求。

来自办公室 IP 范围且使用要阻止的 user agent 的请求会同时触发这两条规则,但我们不能同时允许和阻止该请求。为了解决这个问题,防火墙规则根据操作和优先级遵循严格的排序。

Cloudflare 按降序优先级对规则进行排序,因此优先级 1 排在最前面,没有优先级的规则排在最后。对于优先级相等的规则,Cloudflare 根据其优先顺序按操作对它们进行排序。在上面的示例中,如果未设置优先级,则将应用 allow request from the office IP range(允许来自办公室 IP 范围的请求)规则,因为 allow 操作的优先级高于 block 操作。

为了降低出现意外行为的风险,最好为可能冲突的规则显式指定所需的优先级。

这篇文档对您有帮助吗?