支持字段和运算符

您可以通过负载均衡规则支持的字段,使用表达式生成器或者使用表达式编辑器,自定义您业务需求的规则。

表达式生成器支持字段

image

字段

说明

客户端IP

客户端来源IP。

Cookie值

HTTP Cookie。

主机名

请求的访问Host。

标头

HTTP请求头部。

URI

HTTP URI。

URI查询字符串

URI查询字符串。

URI路径

HTTP URI Path

HTTP版本

HTTP版本。

表达式编辑器支持字段

image

匹配类型

匹配类型含义

匹配类型变量

支持的匹配运算符

匹配值

请求方法

客户端请求使用的请求方法。

http.request.method

  • 等于

  • 不等于

  • 包含以下各项

  • 不包含以下各项

可选值:

  • GET

  • POST

  • PURGE

  • PUT

  • HEAD

  • OPTIONS

  • DELETE

  • PATCH

HTTP 版本

客户端请求使用的HTTP版本。

http.request.version

可选值:

  • HTTP/1.0

  • HTTP/1.1

  • HTTP/2.0

  • HTTP/3.0

国家/地区

客户端IP地址归属的国家/地区。

ip.geoip.country

  • 您可以通过下拉列表来选择。

  • 是否支持区分大小写:否

  • 匹配值是否允许配置空字符串:否

文件名

客户端请求的文件的名称

http.request.uri.path.file_name

  • 不包含文件后缀的文件名,如:

    • /a/b 文件名是b

    • /a/b/ 文件名为空

    • /foo.tar.bz2 文件名为foo.tar

    • 128_128.jpg 文件名为128_128

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

文件扩展名

客户端请求的文件的后缀名。

http.request.uri.path.extension

  • 从右向左识别,识别到第一个".",不包含"."。例如:文件foo.tar.bz2的后缀是bz2。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

IP源地址

客户端的IP。

ip.src

  • 支持填写IPv4格式IP,例如:192.168.X.X

  • 支持填写IPv6格式IP,例如:240e:95c:3004:2:3:0:0:XXX

  • 支持网段方式填写,例如:192.168.XXX.XXX/31

  • 是否支持区分大小写:否

  • 匹配值是否允许配置空字符串:否

SSL/HTTPS

客户端请求使用的协议类型。

http.request.scheme

  • 等于

  • 不等于

可选值:

  • http

  • https

主机名

客户端请求携带的hostname。

匹配顺序:请求URL中的host>请求头HOST中的host。

http.host

  • 等于

  • 不等于

  • 包含字符串

  • 不包含字符串

  • 字符串开头为

  • 字符串结尾为

  • 字符串开头不是

  • 字符串结尾不是

  • 与正则表达式匹配

  • 与正则表达式不匹配

  • 值为其中任意一项

  • 值不为其中任意一项

  • 例如:["www1.alibaba.com","www2.alibaba.com"]

  • 是否支持区分大小写:否

  • 匹配值是否允许配置空字符串:否

URI

客户端请求URL中的路径,包含请求参数。

http.request.uri

  • 例如:/articles/index?section=330688&expand=comments

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

主机URI 完整名

客户端请求的完整URI。

http.request.full_uri

  • 例如:htt­ps://www.example.org/articles/index?section=330688&expand=comments

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

URI 路径

客户端请求URL中的路径,不含请求参数。

http.request.uri.path

  • 例如:/articles/index

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

URI 查询字符串

客户端请求URL中完整的请求参数。

http.request.uri.query

  • 例如:section=330688&expand=comments

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:否

URI 指定查询字符串

客户端请求URL中指定的请求参数。

http.request.uri.args["session"]

  • 支持输入指定查询字符串的参数名称,对指定参数的值进行匹配,例如:参数session的值330688。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

    说明

    仅在如下匹配运算符时支持空值:

    • 等于

    • 不等于

    • 包含

    • 与正则表达式匹配

Cookie

客户端请求携带的Cookie。

http.cookie

  • 等于

  • 不等于

  • 包含字符串

  • 不包含字符串

  • 与正则表达式匹配

  • 与正则表达式不匹配

  • 例如:session=330688;background=light。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

用户代理

客户端请求携带的客户端信息。

http.user_agent

  • 例如:curl/7.29.0。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

引用方

发起客户端请求的原始页面的URL。

http.referer

  • 例如:http://refer.com.cn。

  • 是否支持区分大小写:否

  • 匹配值是否允许配置空字符串:是

X-Forwarded-For

客户端请求中X-Forwarded-For标头的值。

http.x_forwarded_for

  • 例如:192.168.1.X,192.168.2.X

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

请求标头

客户端请求中指定标头。

http.request.headers["session"]

  • 支持输入指定标头名称,对指定请求标头的值进行匹配,例如:标头session的值330688。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

Cookie 值

客户端请求中指定的Cookie参数。

http.request.cookies["session"]

  • 支持输入指定Cookie参数,对指定Cookie参数的值进行匹配,例如:参数session的值330688。

  • 是否支持区分大小写:是

  • 匹配值是否允许配置空字符串:是

运算符

运算符名称

运算符

是否支持取反

值类型

备注

等于

eq

不支持

string

/

不等于

ne

不支持

string

/

包含

contains

支持

string

包含字符串。

与正则表达式匹配

matches

支持

string

正则匹配:

仅bussiness和enterprise套餐支持正则匹配。

值为其中任意一项

in

支持

array

值为其中任意一项:

  • 不支持通配符。

  • 值需要限制数组里面的对象最多32个。

字符串开头为

starts_with

支持

string

/

字符串结尾为

ends_with

支持

string

/

长度小于

len-lt

不支持

integer

字符串长度小于。

长度等于

len-eq

不支持

integer

字符串长度等于。

长度大于

len-gt

不支持

integer

字符串长度大于。

在列表中

in_list

支持

integer

列表需要在账号维度上新建列表,然后在这里调用。

存在

exists

支持

bool

匹配对象有包含key/value键值对的情况下,用于表示子key存在,例如:在header、cookie、查询字符串等场景。

大于

gt

不支持

integer

整数场景下使用。

小于

lt

不支持

integer

整数场景下使用。

大于等于

ge

不支持

integer

整数场景下使用。

小于等于

le

不支持

integer

整数场景下使用。