You need to enable JavaScript to run this app.
导航
回源参数设置
最近更新时间:2024.08.05 16:49:34首次发布时间:2022.08.01 20:31:55

本文档介绍如何在火山引擎内容分发网络(CDN)中对加速域名配置回源请求中包含的查询参数。

默认情况下,CDN 在回源请求中包含的查询参数和用户请求的 URL 中包含的查询参数是相同的。比如用户请求 URL 是 http://www.example.com/image.png?version=1。该 URL 包含查询参数 version,参数值是 1。在回源请求的 URL 中,CDN 也会包含 version=1

如果您需要修改回源请求中包含的查询参数或参数值,您可以配置回源参数。在配置中,您需要创建规则,在规则中定义请求的匹配条件以及回源参数的设置方式。

预设规则

回源参数配置中有一条预设规则。这条规则对所有文件生效,并且优先级始终最低。如果一个用户请求未匹配您创建的所有规则,这个用户请求就会匹配该预设规则。您无法删除这条预设规则,无法调整其优先级,也无法修改这条规则中的规则类型和规则内容。规则中 参数设置 配置默认是 保留全部参数。您可以修改该配置。

alt

前提条件

要使用本文档中介绍的全部配置项,您加速域名的源站配置模块必须已升级到新版本。参见 新版源站配置模块介绍

如果您加速域名的源站配置模块尚未升级到新版本,回源参数的配置会有以下限制:

  • 您无法添加规则。
  • 控制台只有上方描述的预设规则。
  • 在这条预设规则中,您仅能设置 参数设置参数设置 或者 删除全部参数

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
  4. 在页面右上方,点击 回源配置 页签。
  5. 点击 编辑配置
  6. 回源参数设置 下方,点击 添加规则。您最多可以添加 50 条规则。
  7. 参照 配置说明 进行设置。
  8. 设置完成后,在页面右上方点击 提交编辑

alt

配置说明

配置说明

优先级

表示规则的优先级。在规则列表中,每条规则都有优先级。优先级为 1 的规则具有最高优先级。当收到一个用户请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了一条规则,匹配过程就停止了。您可以拖动规则来调整优先级。需要留意的是,您无法调整那条预设规则的优先级。

规则中的过滤条件定义了规则的作用范围。如果您创建了多条规则,请留意这些规则的作用范围是否存在交集,并按您的预期设置规则的优先级。例如,您创建了两条规则。规则A 的作用范围是 /dir/,规则B 的作用范围是 png;jpg。如果 /dir/ 目录下存在 .png 文件,并且您希望规则B 对 .png 文件的请求生效,那么您需要设置规则B 的优先级高于规则A。

规则类型

表示规则中的过滤类型。该配置有以下选项:

  • 文件后缀:表示请求 URL 中的扩展名。

  • 文件目录:表示请求路径中的某个目录。

  • 文件全路径:表示请求 URL。

  • 全路径正则:表示通过正则表达式匹配请求 URL。

规则

表示规则的内容。内容长度不能超过 1,024 个字符,不能包含以下字符:

  • 连续斜杠(//)、空格、美元符号($)、问号(?)、Delete(ASCII code 127)。

在匹配用户请求时,规则内容不区分大小写。

该配置的额外说明如下:

  • 如果 规则类型文件后缀,规则内容必须是一个或者多个以分号(;)分隔的文件后缀。文件后缀无需以句点(.)开头。例如:png;txt

  • 如果 规则类型文件目录,规则内容必须是一个或者多个以分号(;)分隔的目录路径。目录路径必须以斜杠(/)开头和结尾。例如:/chs/foods/;/us/birds/

  • 如果 规则类型文件全路径,规则内容必须是一个或者多个以分号(;)分隔的文件路径。文件路径必须以斜杠(/)开头,可以包含星号(*)用来表示一个或者多个字符。例如:/chs/foods/local*sets;/us/birds/chickadee

  • 如果 规则类型全路径正则,规则内容是一个或者多个正则表达式,用于匹配用户请求 URL 中的路径。对于一个用户请求,如果该正则表达式匹配了路径中的任何部分,这条规则就匹配了该用户请求。参见 配置示例。要指定 全路径正则,请 提交工单

参数设置

表示回源请求 URL 中查询参数的设置方式。该配置有以下选项:

  • 保留全部参数:表示回源请求 URL 中包含用户请求 URL 中的全部查询参数。

  • 删除全部参数:表示回源请求 URL 中不包含用户请求 URL 中的任何查询参数。

  • 添加指定参数:表示回源请求 URL 中包含用户请求 URL 中的全部查询参数,并额外包含 参数内容 中指定的那些查询参数。

  • 保留指定参数:表示如果用户请求 URL 中存在 参数名称 中指定的查询参数,那么回源请求 URL 中包含这些指定的查询参数。

  • 删除指定参数:表示回源请求 URL 中包含用户请求 URL 中的全部查询参数,除了 参数名称 中指定的那些查询参数。

  • 重置指定参数:表示回源请求 URL 中包含用户请求 URL 中的全部查询参数。同时,对于您在 参数内容 中指定的查询参数和参数值,CDN 会执行以下操作:

    • 如果这些查询参数在用户请求 URL 中,CDN 会在回源请求 URL 中将这些查询数的值设置为您指定的值。
    • 如果用户请求 URL 中不包含这些查询参数,CDN 会在回源请求 URL 中添加这些查询参数。

参数名称

表示一个或者多个查询参数,多个查询参数之间使用分号(;)分隔,总长度不能超过 1,024 个字符。查询参数只能包含字母、数字、下划线(_)、逗号(,)、短横线(-)、句点(.)和感叹号(!)。

在匹配请求 URL 中的查询参数时,该配置中的参数是大小写敏感的。

仅当 参数设置删除指定参数保留指定参数 时,该配置会出现。

参数内容

表示一个或者多个键值对,代表查询参数和参数值。

键值对的格式是 key=value,多个键值对之间使用分号(;)分隔,总长度不能超过 1,024 个字符。键值对只能包含除了空格以外的可打印 ASCII 字符。例如:size=12-inch;food=pizza;type=pepperoni

在匹配请求 URL 中的查询参数时,该配置中的参数是大小写敏感的。

仅当 参数设置添加指定参数重置指定参数 时,该配置会出现。

全路径正则配置示例

用户请求指定的全路径正则说明

/a/bbb/image.png

^/a{1,2}.*g$ 用于匹配以 / 开头和以 g 结尾的路径。

正则表达式匹配了请求 URL 中的路径。

/aaa/bbb/image.png/a{1,2}.*g 用于匹配请求路径中的特定字符串。正则表达式匹配了请求 URL 中的路径。

/food/aaa/pngs/image.png

正则表达式匹配了请求 URL 中的路径。

/aaa/bbb/image.png

aaa.* 用于匹配请求路径中的特定字符串。

正则表达式匹配了请求路径中的 aaa/bbb/image.png

/aaa/bbb/image.png

aaa/.* 用于匹配请求路径中的特定字符串。

正则表达式匹配了请求路径中的 aaa/bbb/image.png