边缘安全加速平台 EO 匹配条件

Web 防护功能通过匹配请求的不同条件来实现访问管控。以下详细介绍了各种匹配条件选项、匹配条件说明以及相关配置方式和限制。

相关产品
边缘安全加速平台 EO 产品页,含版本规格、价格与购买入口。

一、使用匹配条件

你可以使用规则的匹配条件指定规则的生效范围,控制防护例外规则、自定义规则、速率限制、自定义 Bot 规则的生效范围。

注意:说明:

注意:当配置了多个匹配条件时,规则仅在全部匹配条件都满足时生效。

二、匹配方式

当匹配字段和匹配内容满足匹配方式要求时,匹配条件成立。

注意:说明:

注意:请求头部的匹配字段(例如:Referer 头部、自定义头部等)使用等于、不等于、包含、不包含、通配符匹配、通配符不匹配、正则匹配方式时,仅当该头部存在且不为空时才能满足匹配条件。

匹配方式 匹配方式说明
等于(在列表中) 匹配内容列表中,包含匹配字段的完整字符串,不区分大小写。匹配内容可配置多个匹配字段,当匹配字段匹配任一值时,即满足匹配条件。
不等于(不在列表中) 匹配内容列表中,不包含匹配字段的完整字符串,不区分大小写。匹配内容可配置多个值,当所有值均不匹配匹配字段时,即满足匹配条件。
包含(关键字) 匹配字段字符串中,包含了匹配内容列表中的任一的完整字符串内容,不区分大小写。匹配内容可配置多个值,当任一值在匹配字段中出现时,即满足匹配条件。
不包含(关键字) 匹配字段字符串中,不包含匹配内容列表中的任一的完整字符串内容,不区分大小写。匹配内容可配置多个值,当所有值均不在匹配字段中出现时,即满足匹配条件。
通配符匹配 匹配内容列表中,包含可通配匹配字段的字符串,不区分大小写。支持通配的字符有:星号*:匹配零个或多个字符。问号?:匹配一个字符。匹配内容可配置多个通配符表达式,当匹配字段匹配任一通配符表达式时,即满足匹配条件。匹配内容中未包含通配符时,该匹配字段按完整匹配方式进行判断。
通配符不匹配 匹配内容列表中,不包含可通配匹配字段的字符串,不区分大小写。支持通配的字符有:星号*:匹配零个或多个字符。问号?:匹配一个字符。匹配内容可配置多个通配符表达式,当匹配字段与所有通配符表达式都不匹配时,即满足匹配条件。匹配内容中未包含通配符时,该匹配字段按完整匹配方式进行判断。
长度大于 匹配字段存在,且数据长度(按字符串包含字符数计)大于指定长度。
长度小于 匹配字段存在,且数据长度(按字符串包含字符数计)小于指定长度。
内容为空 匹配字段存在,且为空字符串
不存在 匹配字段不存在。
正则匹配 匹配字段数据可满足匹配内容中的正则表达式。

三、匹配条件选项及说明

注意:说明:

注意:1. 支持配置的匹配条件,根据规则类型和你订阅的 EdgeOne 套餐有些区别。具体支持情况请参考套餐选型对比。

注意:2. 单条规则中所有匹配内容中,匹配项目数量总和不超过 128 个(包括同时匹配多个值的匹配条件)。

匹配条件选项 匹配条件说明
请求客户端 IP 匹配请求的来源 IP 地址。支持基于地域、ASN、IP 和 CIDR 网段进行匹配。使用匹配、不匹配逻辑符号选项时,可匹配客户端 IP 、CIDR 网段和 IP 分组。单个匹配条件最多可配置8个 IP 分组。使用地域包含、地域不包含逻辑符号选项时,可匹配客户端 IP 的归属地域。使用 ASN 归属、ASN 归属不等于逻辑符号选项时,可匹配客户端 IP 所归属的 BGP 自治系统编号(ASN)。
请求客户端 IP(优先匹配 XFF 头部) 当请求携带合法 XFF(X-Forwarded-For)头部时,匹配请求 XFF 头部第一个 IP;否则,匹配请求来源 IP 地址。使用匹配、不匹配逻辑符号选项时,可匹配客户端 IP 、CIDR 网段和 IP 分组。单个匹配条件最多可配置 8 个 IP 分组。使用地域包含、地域不包含逻辑符号选项时,可匹配客户端 IP 的归属地域。使用 ASN 归属、ASN 归属不等于逻辑符号选项时,可匹配客户端 IP 所归属的 BGP 自治系统编号(ASN)。
自定义请求头部 匹配请求的指定头部,提供额外参数选项匹配特定名称的头部值。忽略大小写。支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。说明:暂不支持匹配 Content-Length 头部1。
请求 URL 匹配请求的 URL。例如:/example.html?region=cn 。忽略大小写。不包含 Hostname包含 URL 查询参数支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求来源(Referer 头部) 匹配请求的 Referer 头部。忽略大小写。支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求内容类型(Accept 头部) 匹配请求的 Accept 头部。忽略大小写。支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
请求路径(Path) 匹配请求 URL 的路径部分。例如:/example.html 或者 /api/v2/login 。不包含 Hostname。不包含查询参数。忽略大小写。
请求方式(Method) 匹配请求的方法。忽略大小写。支持多项选择:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、CONNECT。
请求 Cookie 匹配指定请求 Cookie 头部参数值。需指定 Cookie 参数名称。忽略大小写。支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
XFF 扩展头部 匹配请求的 XFF(X-Forwarded-For)头部。忽略大小写。支持等于、不等于、包含、不包含、通配符匹配、通配符不匹配、长度大于、长度小于、内容为空、不存在、正则匹配。
网络层协议 匹配请求使用的 IP 协议类型。支持多项选择:IPv4、IPv6。
应用层协议 匹配请求使用的应用层协议。支持多项选择:HTTP、HTTPS。
响应状态码 匹配响应的 HTTP 状态码。仅支持速率限制,选择基于响应统计时支持配置。最多支持同时匹配20个状态码。
请求正文 匹配请求的正文。仅支持匹配请求正文的前 8KB 数据

注意:说明:

注意:说明 1:如需对特定 Content-Length 头部配置策略,请使用 规则引擎 或 边缘函数,通过自定义头部匹配条件或http.request.headers变量匹配头部并处置请求。例如:使用规则引擎自定义头部(指定 Content-Length 头部值不为“0”)和请求 Method (指定 Method 为 POST)匹配条件,组合 HTTP 应答,实现拦截 Content-Length 为 0 的 POST 请求。

赞 (0)
上一篇 4天前
下一篇 4天前