条件

页面规则中的条件(Condition)用于匹配请求的各种属性,从而决定是否执行相应的动作。每个条件由三部分组成: 变量(Variable):要检查的请求属性,即左操作数。 操作符(Operator):比较方式。 值(Values):要比较的目标值,即右操作数。

页面规则中的条件(Condition)用于匹配请求的各种属性,从而决定是否执行相应的动作。每个条件由三部分组成:

  • 变量(Variable):要检查的请求属性,即左操作数。
  • 操作符(Operator):比较方式。
  • 值(Values):要比较的目标值,即右操作数。

条件还支持一个可选的 caseless(不区分大小写)选项,设为 true 时,字符串比较将忽略大小写。


条件变量

条件变量是页面规则中用于匹配请求属性的左操作数。每个条件由’变量 + 操作符 + 值’三部分组成。变量主要分为以下几组: URI(uri):当前请求的完整 URI 路径,不含查询字符串部分。

条件操作符

操作符定义了变量与值之间的比较方式。根据适用场景,操作符分为以下几类: 用于数值比较,适用于端口号、状态码、长度、计数等数值型变量。 数字 =(==):数值等于。判断变量的数值是否等于指定值。 数字 ≠(!=):数值不等于。判断变量的数值是否不等于指定值。 数字 (>):数值大于。

时间条件

OpenResty Edge 提供了 2 种类型的时间条件: 绝对时间:用于表示时间范围 相对时间:用于表示时间周期 变量:时间 操作符:在时间范围内/不在时间范围内 Value:开始时间及结束时间 示例: 添加 2 条页面规则: 在时间范围内,则输出“Within”.

文件上传条件

当前 OpenResty Edge 提供了 3 个文件上传相关的条件。 此条件可以检测上传的文件扩展名,可以用于实现文件扩展名黑名单或者白名单。 需要注意的是,由于一个请求中可能上传多个文件,因此条件中的“变量”是一个数组。以上图为例:表示任意一个文件扩展名包含 php,则匹配成功。

支持识别的上传文件类型

以下是 OpenResty Edge 能识别的上传文件类型:.