除了基础源站配置之外,CDN 还提供了“条件源站” 特性。该特性允许 CDN 基于用户请求的特征访问相应的源站。要使用该特性,请 提交工单。
源站选择逻辑
当 CDN 收到用户请求时,如果用户请求匹配条件源站的配置,则 CDN 在回源时基于条件源站的配置选择源站。否则,CDN 基于基础源站的配置选择源站。
回源重试
参见 回源重试逻辑。
前提条件
您加速域名的源站配置模块已升级。参见 源站配置 文档开头的说明。
操作步骤
- 登录 火山引擎内容分发网络控制台。
- 在左侧导航栏,点击 域名管理。
- 在 域名管理 页面,找到需要配置的域名,点击 管理。
- 定位 条件源站 模块。
- 如果您使用的是旧版域名管理页面,点击 编辑配置,然后在 基础配置 标签页中定位 条件源站 模块。
- 如果您使用的是新版域名管理页面,点击 编辑域名。在页面左侧的树状配置项列表中,定位 基础配置 > 源站管理 > 条件源站。如果该模块置灰,点击模块右边的 + 。
关于新旧版域名管理页面的区别,参见 新版域名配置。
- 在 条件源站 模块中,设置 状态 为启用。
- 点击 添加规则。您最多可以添加 20 条规则。规则有优先级,参见 规则生效逻辑。

- 参考 配置说明 对规则进行配置。
- 配置完所有规则后,点击 提交编辑。

配置说明
配置 | 说明 |
|---|
请求条件 | 表示一个或者多个匹配条件,最多 50 个,用于对用户请求进行匹配。点击 添加 创建一个匹配条件。
您可以指定这些匹配条件之间的关系,默认是 或。
您可以选择的匹配对象有: - 文件全路径
- 文件目录
- 文件后缀
- 客户端 IP
- 请求 Query:表示请求 URL 中的某个查询参数。
- 请求 FullQuery:表示请求 URL 中的所有查询参数。
- 自定义请求头部:表示请求中的某个头部。
关于各匹配对象所对应的匹配类型,以及匹配值的输入要求和示例,参见 附录一。 |
源站类型 | 表示源站的类型,该配置有以下可选项: - IP 源站:表示源站是一个 IP 地址。
- 域名源站:表示源站是一个域名。
- 对象存储源站:表示源站是一个对象存储桶。
|
源站地址 | 参见 源站配置 中的说明。 |
HTTP 端口 |
HTTPS 端口 |
回源 Host |
规则生效逻辑
在规则列表中,每条规则都有一个优先级,优先级为 1 的规则优先级最高。当收到一个用户请求时,CDN 会按照优先级从高到低的顺序使用规则对该请求进行匹配。如果请求满足某条规则中的条件,则该规则中的配置对请求生效,并且 CDN 停止使用其余规则对用户请求进行匹配。您可以拖动规则来调整优先级。
更多信息
附录一
说明
- 要指定 "正则匹配" 与 "正则不匹配",请 提交工单。
- 正则匹配不区分大小写。
匹配对象 | 可指定的匹配类型 | 匹配值输入要求 | 匹配值示例 |
|---|
文件全路径 | | - 必须以斜杠(/)开头。
- 可以包含通配符
*,但不能仅仅是 *。 - 总长度不能超过 1,024 个字符。
- 多个路径之间以分号(;)分隔,总长度不能超过 1,024 个字符。
- 不能包含以下字符:
- 双斜杠(//)、空格、美元符号($)、问号(?)。
| /www/img/my*image.png;/docs/file |
请求 FullQuery | | - 总长度不能超过 1,024 个字符。
- 多个正则表达式之间以分号(;)分隔。
| ^a{1,2}b(.*)g=val[1-3] |
文件目录 | | - 必须以斜杠(/)开头和结尾。
- 总长度不能超过 1,024 个字符。
- 多个目录之间以分号(;)分隔。
- 不能包含以下字符:
- 双斜杠(//)、空格、美元符号($)、问号(?)。
| /www/img/;/docs/folder/ |
文件后缀 | | - 只能包含字母和数字。
- 总长度不能超过 1,024 个字符。
- 不能以句点(.)开头。
- 多个后缀之间以分号(;)分隔。
| png;jpg |
客户端 IP | - 等于、不等于
- 属于、不属于:表示客户端 IP 地址是否归属于您指定的国家和地区。
| 对于 IP 地址: - 数量不能超过 5 个。
- 仅支持输入 IPv4 地址和 IPv4 CIDR。
- 多个 IP 地址之间以分号(;)分隔。
| xx.xx.xx.x;xxx.xxx.xxx.xx |
请求 Query | - 等于、不等于
- 正则匹配、正则不匹配
- 存在、不存在
- 为空、不为空
| 参数名称 - 每个匹配条件中只能指定一个参数名称。
- 长度不能超过 256 个字符。
- 只能包含数字、字母、下划线(_)、中划线(-)、句点(.)。
参数值 - 参数值可以是多个,以分号(;)分隔,总长度不能超过 1,024 个字符。
| 参数名称
param 参数值
p_value1;p_value2 |
自定义请求头部 | | 头部名称 - 每个匹配条件中只能指定一个头部名称。
- 长度不能超过 1,024 个字符。
- 不能包含汉字、下划线(_)、空格、双引号(")、冒号(:)。
头部值 - 头部值可以是多个,以竖线(|)分隔,数量不能超过 50 个。
- 总长度不能超过 1,024 个字符。
- 头部值可以以通配符
* 开头或结尾,但不能仅仅是 *。
| 头部名称
header 头部值
header_value1 |