You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
规则引擎
动作列表
复制全文
动作列表

在规则引擎中,当客户端请求或源站响应满足您设定的匹配条件时,CDN 会执行相应的动作。本文详细介绍了规则引擎支持的所有动作类型、执行阶段及具体配置方法。

下表列出了所有可用的动作、动作的执行阶段和配置说明。

动作

动作执行阶段

配置说明

URL 重定向改写

客户端请求

参见文档

允许访问

允许符合条件的请求访问 CDN。

协议强制跳转

参见文档

下载限速

参见文档

客户端请求头设置

在 CDN 处理客户端请求前,您可以新增、修改、或删除客户端请求中的 HTTP 头部。

拒绝访问

阻止符合条件的请求访问 CDN。您同时需要指定拒绝访问放生时的 CDN 响应状态码,范围是 100-999。

URL 鉴权

参见文档。在规则引擎中,您可以对各鉴权类型配置 "M3U8 改写"。

缓存键值

CDN 缓存

参见下方 缓存键值说明

智能压缩

参见文档

视频拖拽

参见文档

节点缓存规则

参见文档

HTTP 响应头设置

客户端响应

参见文档

浏览器缓存

参见文档

HTTP 状态码改写

指定 CDN 的响应状态码,范围是 100-999。

自定义页面

参见文档

Range 回源

回源请求

参见文档

回源重定向跟随

参见文档

回源 TCP 超时

参见文档

回源 HTTP 超时

参见文档

缓存键值说明

在 CDN 中,您可以通过以下两种方式配置缓存键:

  • 常规方式:在域名配置页面,您可以创建缓存键规则,指定缓存键包含的查询参数。更多信息,参见 缓存键值
  • 规则引擎:您也可以在规则引擎中配置缓存键。规则引擎提供了更丰富的配置项。除了查询参数,您还可以:
    • 设置缓存键中包含的请求头。
    • 设置缓存键中包含的 Cookie。
    • 改写缓存键中的文件路径。
    • 指定缓存键中的文件路径是否区分大小写。

说明

默认情况下,缓存键包含所有查询参数,但不包含任何 Cookie 和请求头。

以下是规则引擎中缓存键值的配置说明。

配置

说明

查询字符串

用于指定缓存键中需要包含请求 URL 中的哪些查询参数。该配置有以下选项:

  • 保留指定参数:表示保留指定的参数。输入要求如下:
    • 您可以指定最多 30 个参数,多个参数之间以回车分隔。参数名称可以包含字母、数字、下划线(_)、连字符(-)和逗号(,),长度不能超过 30 个字符。
  • 删除指定参数:表示保留除指定的参数之外的所有参数。输入要求与 保留指定参数 的相同。
  • 保留全部参数:表示保留所有参数。
  • 删除全部参数:表示不保留任何参数。

您还可以指定参数名称是否区分大小写。例如,您指定保留的参数是 Header,并且不勾选 忽略大小写。在这种情况下,CDN 会将 http://www.example.com/file?header=valuehttp://www.example.com/file?Header=value 视为不同的文件。

请求路径

用于改写缓存键中的文件路径。您需要指定 改写前路径 以及 改写后路径改写前路径 是一个正则表达式。


路径必须以 / 开头,长度不能超过 300 个字符。


参见下方的路径改写示例。

HTTP 请求头

用于指定缓存键中包含哪些请求头。头部名称不区分大小写。您可以指定最多 30 个头部,多个头部之间以回车分隔。头部名称可以包含字母、数字、下划线(_)和连字符(-),长度不能超过 30 个字符。


指定的请求头列表的顺序会影响缓存匹配结果。例如,缓存键中的头部列表是 header1, header2。CDN 收到的请求中的头部列表是 header2,header1。在这个情况下,该请求无法匹配缓存。

说明

默认情况下,缓存键中不包含任何请求头。

Cookie

用于指定缓存键中包含的 Cookie。通过指定 Cookie 的键(Key)来设置需要保留的 Cookie。该配置有以下选项:

  • 保留指定键值:表示保留指定的 Cookie。输入要求如下:
    • 您可以指定最多 30 个 Cookie,多个 Cookie 之间以回车分隔。键的名称可以包含字母、数字、下划线(_)、连字符(-)和逗号(,),长度不能超过 30 个字符。
  • 删除指定键值:表示保留除指定 Cookie 之外的所有 Cookie。输入要求与 保留指定键值 的相同。
  • 保留全部键值:表示保留所有 Cookie。

说明

默认情况下,缓存键中不包含任何 Cookie。

缓存路径忽略大小写

用于指定缓存键中的文件路径是否区分大小写。

Image

缓存键中的路径改写示例

配置

  • 改写前路径:^/a{1,2}(.*)g$
  • 改写后路径:/food$1g

改写示例

  • /a/bbb/image.png 改写为 /food/bbb/image.png
  • /c/a/bbb/image.png 不会被改写

变量说明

在以下两个动作的配置中,您可以使用变量来获取特定对象的值。

  • 客户端请求头设置
  • HTTP 响应头设置

要在参数值中使用这些变量,使用的格式是 ${*变量*}。例如,您设置某个 HTTP 响应头的值为 my ${request_uri} is ${host}.

CDN 提供的变量列表如下。

变量名称

说明

示例

request_uri

表示客户端请求 URL 中的路径和查询字符串(query string)。

/dir/shoppinglist.php?color=red&n=10

raw_uri

表示客户端请求 URL 中的路径。

/dir/volcano.php

host

表示客户端请求中 host 头部的值。需要留意的是,CDN 在处理请求时可能会修改 host 头部的值。因此,建议您使用 http_host 变量,而不是 host 变量。

www.example.com:8080

http_host

表示客户端请求中 host 头部的值。该头部值不会被 CDN 修改。

www.example.com:8080

args

表示客户端请求 URL 中的查询字符串。

color=red&n=10

query_string

args 参数的含义相同。

color=red&n=10

scheme

表示客户端使用的协议。

https

remote_addr

表示发起本次请求的客户端的 IP 地址。

203.0.113.4

msec

表示 CDN 设置响应头的时间,格式是 Unix 时间戳,精确到毫秒。该时间戳接近首包的响应时间。

1704444754.917

http_%s

表示一个特定头部的值,%s 是头部名称。例如 http_hello 表示 hello 头部的值。

http_hello

arg_%s

表示一个特定查询参数的值,%s 是查询参数名称。例如 arg_size 表示查询参数 size 的值。

arg_size

最近更新时间:2026.03.24 12:02:05
这个页面对您有帮助吗?
有用
有用
无用
无用