你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 内容分发网络标准规则引擎中的匹配条件
重要
Microsoft Azure CDN Standard(经典版)将于 2027 年 9 月 30 日停用。 为了避免任何服务中断,请务必在 2027 年 9 月 30 日之前将 Microsoft Azure CDN Standard(经典版)配置文件迁移到 Azure Front Door Standard 层或 Premium 层。 有关详细信息,请参阅 Microsoft Azure CDN Standard(经典版)停用。
Edgio 的 Azure CDN 将于 2025 年 11 月 4 日停用。 为了避免服务中断,必须在此日期之前将工作负载迁移到 Azure Front Door。 有关详细信息,请参阅 Edgio 的 Azure CDN 停用常见问题解答。
在 Azure 内容分发网络标准规则引擎中,规则由一个或多个匹配条件和一个操作组成。 本文将详细介绍可在 Azure 内容分发网络标准规则引擎中使用的匹配条件。
规则的第一部分是一个匹配条件或一组匹配条件。 在 Azure 内容分发网络标准规则引擎中,每个规则最多可以有四个匹配条件。 匹配条件指定要对其执行所定义操作的特定请求类型。 如果使用多个匹配条件,则匹配条件使用 AND 逻辑组合在一起。
例如,可以使用匹配条件:
- 基于特定的 IP 地址或国家/地区来筛选请求。
- 按标头信息筛选请求。
- 筛选来自移动设备或桌面设备的请求。
匹配条件
可在 Azure 内容分发网络标准规则引擎中使用以下匹配条件。
设备类型
识别请求是从移动设备发出的还是从桌面设备发出的。
Required fields
操作员 | 支持的值 |
---|---|
等于、不等于 | 移动、桌面 |
HTTP 版本
根据请求的 HTTP 版本识别请求。
Required fields
操作员 | 支持的值 |
---|---|
等于、不等于 | 2.0、1.1、1.0、0.9、All |
请求 Cookie
根据传入请求中的 Cookie 信息识别请求。
Required fields
Cookie 名称 | 运算符 | Cookie 值 | 大小写转换 |
---|---|---|---|
字符串 | 标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
重要信息
- 指定 Cookie 名称时,不能使用通配符值(包括星号 (*));必须使用确切的 Cookie 名称。
- 此匹配条件的每个实例只能指定一个 Cookie 名称。
- Cookie 名称比较不区分大小写。
- 若要指定多个 Cookie 值,请在每个 Cookie 值之间使用一个空格。
- Cookie 值可以利用通配符值。
- 如果未指定通配符值,则只有完全匹配才满足此匹配条件。 例如,“Value”与“Value”匹配,但与“Value1”不匹配。
Post 参数
根据为请求中使用的 POST 请求方法定义的参数识别请求。
Required fields
参数名称 | 操作员 | 参数值 | 大小写转换 |
---|---|---|---|
字符串 | 标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
查询字符串
标识那些包含特定查询字符串参数的请求。 此参数设置为一个与特定模式匹配的值。 请求 URL 中的查询字符串参数(例如 parameter=value)确定是否满足此条件。 此匹配条件按名称标识查询字符串参数,并接受一个或多个值作为参数值。
Required fields
操作员 | 查询字符串 | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
远程地址
根据请求者的位置或 IP 地址识别请求。
Required fields
操作员 | 支持的值 |
---|---|
任意 | 空值 |
地理位置匹配 | 国家/地区代码 |
IP 匹配 | IP 地址(以空格分隔) |
非任意 | 空值 |
非地理位置匹配 | 国家/地区代码 |
非 IP 匹配 | IP 地址(以空格分隔) |
重要信息
- 使用无类别域际路由选择 (CIDR) 表示法。
- 若要指定多个 IP 地址和 IP 地址块,请在各个值之间使用单个空格:
- IPv4 示例:1.2.3.4 10.20.30.40 匹配来自地址 1.2.3.4 或 10.20.30.40 的所有请求。
- IPv6 示例:1:2:3:4:5:6:7:8 10:20:30:40:50:60:70:80 匹配来自地址 1:2:3:4:5:6:7:8 或 10:20:30:40:50:60:70:80 的所有请求。
- IP 地址块的语法为 IP 基址后跟正斜杠和前缀大小。 例如:
- IPv4 示例:5.5.5.64/26 匹配来自地址 5.5.5.64 到 5.5.5.127 的所有请求。
- IPv6 示例:1:2:3:/48 匹配来自地址 1:2:3:0:0:0:0:0 到 1:2:3:ffff:ffff:ffff:ffff:ffff 的所有请求。
- 远程地址代表原始客户端 IP,该 IP 来自网络连接,或者如果用户在代理后面,通常为 X-Forwarded-For 请求头。
请求正文
根据请求正文中出现的特定文本识别请求。
Required fields
操作员 | 请求正文 | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
请求标头
识别那些使用了特定标头的请求。
Required fields
标头名称 | 操作员 | 标头值 | 大小写转换 |
---|---|---|---|
字符串 | 标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
请求方法
识别那些使用了指定请求方法的请求。
Required fields
操作员 | 支持的值 |
---|---|
等于、不等于 | GET、POST、PUT、DELETE、HEAD、OPTIONS、TRACE |
重要信息
- 只有 GET 请求方法可在 Azure 内容分发网络中生成缓存的内容。 其他所有请求方法均通过网络代理。
请求协议
识别那些使用了指定协议的请求。
Required fields
操作员 | 支持的值 |
---|---|
等于、不等于 | HTTP、HTTPS |
请求 URL
识别那些与指定 URL 匹配的请求。
Required fields
操作员 | 请求 URL | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
重要信息
- 使用此规则条件时,请确保包含协议信息。 例如,https://www.<yourdomain>.com。
URL 文件扩展名
识别那些在请求 URL 的文件名中包含了指定文件扩展名的请求。
Required fields
操作员 | 分机 | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
重要信息
- 对于扩展名,请不要包含前导句点,例如,使用 html 而非 .html。
URL 文件名
识别那些在请求 URL 中包含了指定文件名的请求。
Required fields
操作员 | 文件名 | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
重要信息
- 若要指定多个文件名,请用单个空格分隔每个文件名。
URL 路径
识别那些在请求 URL 中包含了指定路径的请求。
Required fields
操作员 | 值 | 大小写转换 |
---|---|---|
标准运算符列表 | 字符串、整数 | 无转换、转换为大写、转换为小写 |
重要信息
- 文件名值可以利用通配符值。 例如,每个文件名模式可以包含一个或多个星号 (*),其中每个星号与包含一个或多个字符的序列匹配。
规则引擎匹配条件参考
标准运算符列表
对于那些接受标准运算符列表中的值的规则,以下运算符有效:
- Any
- 等于
- 包含
- 开头为
- 结尾为
- 小于
- 小于或等于
- 大于
- 大于或等于
- 非任何项
- 不包含
- 开头不是
- 结尾不是
- 不小于
- 不小于或等于
- 不大于
- 不大于或等于
对于数字运算符(例如“小于”和“大于或等于”),使用的比较基于长度。 在这种情况下,匹配条件中的值应该是一个等于要比较的长度的整数。