You need to enable JavaScript to run this app.
导航
条件源站
最近更新时间:2024.07.12 17:44:46首次发布时间:2024.06.24 17:42:39

本文档介绍了火山引擎内容分发网络(CDN)提供的 "条件源站" 特性。该特性目前以白名单的方式对外开放。如果您需要此功能,请 提交工单

概述

除了基础源站,CDN 还提供了 "条件源站"。通过该特性,您可以对满足特定条件的用户请求指定 CDN 在回源时访问的源站。

在 "条件源站" 的配置中,您可以创建一条或者多条规则。在规则中,您需要定义:

  • 请求条件:表示一个过滤器,用于过滤用户请求。您需要在过滤器中定义一个或者多个过滤条件。

  • 源站信息:表示如果请求满足所有过滤条件,CDN 在回源时访问的源站。

说明

"条件源站" 不支持指定类型是对象存储桶的源站。

源站选择逻辑

在您配置了 "条件源站" 后,如果 CDN 收到一个用户请求,CDN 在回源时会根据以下逻辑选择要访问的源站:

  • 根据规则的优先级,CDN 依次尝试将这些规则与该用户请求进行匹配。
    • 如果一条规则与该请求匹配,CDN 在回源时会访问规则中指定的源站。

    • 如果没有任何规则匹配该请求,CDN 在回源时会访问一个基础源站。

回源重试

参见 回源重试逻辑

前提条件

您加速域名的源站配置模块已升级。参见 配置源站 文档开头的说明。

操作步骤

  1. 登录 火山引擎内容分发网络控制台

  2. 在左侧导航栏,点击 域名管理

  3. 域名管理 页面,找到需要配置的域名,点击 管理。 页面上方的筛选条件和搜索框可以帮助您快速找到要配置的域名。

  4. 在页面右上方,点击 编辑配置

  5. 源站清单 下方,点击 + 条件源站,然后设置 条件源站 为开启。

  6. 点击 添加规则。您最多可以添加 50 条规则。
    alt
    在规则列表中,每条规则都有一个优先级。数字 1 的规则优先级最高。规则中的 请求条件 定义了规则的作用范围。如果您创建了多条规则,作用范围较大的规则应出现在作用范围较小的规则后面。当收到一个用户请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了一条规则,CDN 就停止处理其余规则。您可以通过拖拽调整规则的优先级。

  7. 参考 配置说明 对规则进行配置。

  8. 配置完所有规则后,在页面右上方,点击 提交编辑

配置说明

配置说明

请求条件

表示一个或者多个过滤条件,用于对请求进行过滤。点击 添加 创建一个过滤条件。

您可以指定这些过滤条件之间的关系,默认是

  • :表示只要满足任何一个过滤条件,用户请求就匹配该规则。

  • :表示必须满足所有过滤条件,用户请求才匹配该规则。

在每个过滤条件中,您需要设置过滤类型、对比类型和过滤值。过滤值可以有多个,以分号(;)分隔。每个过滤值之间的关系是 "或"。 过滤类型的说明如下:

  • 文件全路径:表示请求 URL 中的完整路径。

  • 文件目录:表示路径中的一个目录。

  • 文件后缀:表示路径末尾的扩展名。

  • 请求 FullQuery:表示请求 URL 中的查询字符串。要使用该过滤类型,请 提交工单

  • 客户端 IP:表示客户端的 IP 地址或者 IP 地址的归属地。

对比类型的说明如下:

  • 等于正则匹配:表示如果请求匹配任何过滤值,该请求就符合这个过滤条件。

  • 不等于正则不匹配:表示如果请求不匹配所有过滤值,该请求才符合这个过滤条件。

  • 正则匹配正则不匹配:要使用这两个对比类型,请 提交工单。在您启用这两个对比类型后,如果过滤类型是 请求 FullQuery文件全路径,这两个对比类型就会出现。例如,对于 请求 FullQuery,过滤值 a\d+b&x\d+y 可用于匹配请求 URL 为 http://www.example.com/file?a34b&x7897y=1 的请求。

  • 属于不属于:当过滤类型是 客户端 IP 时,该对比类型才会出现,您需要指定一个或者多个国家或地区。

关于过滤值的输入要求,参见 配置输入要求

源站类型

表示源站的类型,该配置有以下可选项:

  • IP 源站:表示源站是一个 IP 地址。

  • 域名源站:表示源站是一个域名。

源站地址

参见 配置源站 中的说明。

HTTP 端口
HTTPS 端口
回源 Host

更多信息

配置输入要求

配置输入要求

请求条件

过滤值的输入要求如下:

  • 如果过滤类型是 文件全路径,每个过滤值表示一个完整路径。路径必须以斜杠(/)开头。您可以在路径中使用一个或者多个星号(*),每个星号表示一个或者多个字符。例如:/www/img/my*image.png

  • 如果过滤类型是 文件目录,每个过滤值表示一个路径目录。目录必须以斜杠(/)开头和结尾。例如:/www/img/

  • 如果过滤类型是 文件后缀,每个过滤值表示一个路径后缀。后缀无需以句点(.)开头。例如:png;txt

  • 如果过滤类型是 文件全路径文件目录文件后缀,所有过滤值的总长度不能超过 1,024 个字符,不能包含以下字符:

    • 连续斜杠(//)、空格、美元符号($)、问号(?)、Delete(ASCII code 127)。
  • 如果过滤类型是 请求 FullQuery,所有过滤值的总长度不能超过 256 个字符,可以包含以下字符:

    • 数字、字母、百分号(%)、下划线(_)、中划线(-)。
  • 如果过滤类型是 客户端 IP 并且对比类型是 等于 或者 不等于,IP 地址的数量不能超过 5 个。IP 地址可以是 IPv4 地址、IPv4 CIDR 地址、IPv6 地址或 IPv6 CIDR 地址。