您可以通过负载均衡规则支持的字段,使用表达式生成器或者使用表达式编辑器,自定义您业务需求的规则。
表达式生成器支持字段
字段 | 说明 |
客户端IP | 客户端来源IP。 |
Cookie值 | HTTP Cookie。 |
主机名 | 请求的访问Host。 |
标头 | HTTP请求头部。 |
URI | HTTP URI。 |
URI查询字符串 | URI查询字符串。 |
URI路径 | HTTP URI Path |
HTTP版本 | HTTP版本。 |
表达式编辑器支持字段
匹配类型 | 匹配类型含义 | 匹配类型变量 | 支持的匹配运算符 | 匹配值 | 是否支持区分大小写 | 匹配值是否允许配置空字符串 |
请求方法 | 客户端请求使用的请求方法。 | http.request.method |
| 可选值:
| 否 | 否 |
HTTP 版本 | 客户端请求使用的HTTP版本。 | http.request.version | 可选值:
| 否 | 否 | |
国家/地区 | 客户端IP地址归属的国家/地区。 | ip.geoip.country | 您可以通过下拉列表来选择。 | 否 | 否 | |
文件名 | 客户端请求的文件的名称 | http.request.uri.path.file_name | 不包含文件后缀的文件名,如:
| 是 | 否 | |
文件扩展名 | 客户端请求的文件的后缀名。 | http.request.uri.path.extension | 从右向左识别,识别到第一个".",不包含"."。例如:文件foo.tar.bz2的后缀是bz2。 | 是 | 否 | |
IP源地址 | 客户端的IP。 | ip.src |
| 否 | 否 | |
SSL/HTTPS | 客户端请求使用的协议类型。 | http.request.scheme |
| 可选值:
| 否 | 否 |
主机名 | 客户端请求携带的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 | 例如:https://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 | 例如: | 是 | 是 | |
请求标头 | 客户端请求中指定标头。 | 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 | 值为其中任意一项:
|
字符串开头为 | 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 | 整数场景下使用。 |