配置条件源站

更新时间:
复制 MD 格式

条件源站功能可以与规则引擎功能实现配置联动,根据指定规则(如 request header、query string parameter、path、client IP 等)来过滤用户请求,并将符合条件的请求回源到指定的源站地址。可以添加多个配置,实现不同规则条件下回源到不同的源站。

前提条件

在添加条件源站配置之前,需要先在规则引擎中创建规则条件。

注意事项

  • 功能冲突:条件源站与高级回源互斥,只能二选一配置。

  • 通配符支持:在规则引擎中,URI匹配值支持通配符 *(匹配任意多个字符)和 ?(匹配任意单个字符)。高级回源功能中的 Path 匹配仅支持精确值,不支持通配符。

  • 规则优先级与匹配顺序:条件源站按所关联规则条件的优先级依次匹配,而非按功能自身的配置顺序。命中某一条规则后不再继续匹配。规则引擎中的规则条件优先级由创建顺序决定,越早创建的规则优先级越高。若需调整匹配优先级,需在规则引擎中删除现有规则后,按期望的优先顺序重新添加。

  • 多路径配置技巧:在创建"包含"或"不包含"某路径的规则时,可以在单条规则的匹配值中填写多个路径(支持多行或多值输入),简化配置。

  • 规则数量限制:条件源站可引用的规则条件数量受规则引擎全局限制。单个域名下所有功能(包括条件源站、高级回源、Referer 防盗链等)对规则条件的总引用次数最大不超过 5 次。在多源站复杂场景下,若超出该限制会导致配置失败。建议合理规划规则数量,或在源站过多时考虑使用独立域名分别加速。

源站为OSS时的注意事项

  • 若源站为OSS,需要添加该源站地址到域名管理 > 基本配置 > 源站信息中,并且将源站类型设置为OSS域名,以便CDNOSS正常鉴权。

  • 多 OSS 源站场景:当配置多个 OSS 源站时,必须为每个源站配置指定源站回源HOST,且 Host 值需与对应的 OSS Bucket 域名完全一致(例如 dev-3mir.oss-cn-guangzhou.aliyuncs.com)。

    若未正确配置或依赖默认回源 Host,请求可能随机回源至错误的 Bucket,导致 403 SignatureDoesNotMatch(签名验证失败)或 404 Not Found 错误。每条条件回源规则(包括匹配规则和不匹配/兜底规则)都需要明确绑定对应的源站和回源 Host。建议在配置多个源站时,将基础源站的权重设置为一致,并为每个条件源站配置独立的规则条件,以确保回源路径可控。

条件源站与基础源站、高级回源的区别

条件源站和高级回源均可引用规则引擎中配置的规则条件,从而实现更灵活的回源策略。CDN 根据请求是否命中规则条件,自动选择对应的源站:

源站类型

触发条件

条件源站

请求命中条件源站引用的规则条件

高级回源

请求命中高级回源引用的规则条件

基础源站

请求未命中任何条件源站 / 高级回源规则(默认兜底)

操作步骤

  1. 登录CDN控制台

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

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 源站信息区域,单击条件源站后的展开配置条件源站

  5. 单击新增条件源站

  6. 设置规则条件

    • 如果是首次添加配置或需要修改已有的规则条件,可以在条件源站对话框中单击规则引擎,在规则引擎中添加或修改配置,具体请参见规则引擎

    • 如果已有规则条件,从规则条件下拉列表中选择需要引用的规则条件。

  7. 源站地址输入框中,输入源站地址(支持IP源站、域名源站、OSS源站、函数计算源站)。

  8. 单击确定,完成配置。

示例:/api/* 地址访问 FC 服务,其他地址访问 OSS 服务

高级回源仅支持精确值匹配,不支持通配符或正则表达式。要实现的路径级回源,可以使用条件源站与规则引擎。通过条件源站功能结合规则引擎和 URL 重写,可以实现将 /api/* 路径的请求路由到函数计算(FC)源站,其他请求默认回源到 OSS 源站。

创建规则引擎规则

  1. 登录CDN控制台,在域名管理页面找到目标域名,单击操作列的管理,在左侧导航栏单击规则引擎

  2. 单击添加规则,输入规则名称,在规则内容区域单击加号图标添加匹配条件,按下表配置:

    配置项

    规则名称

    自定义名称,如 api-to-fc,便于后续识别

    匹配类型

    URI

    匹配运算符

    包含其中任意一个

    匹配值

    单击编辑,输入 */api/* 后按回车添加。支持通配符 *?,单条规则最多支持32个匹配值。

    区分大小写

    不勾选(默认,即忽略大小写)

    重要

    不要添加 hostname 条件。hostname 匹配的是请求域名而非源站,添加 hostname 条件可能导致规则无法匹配 URL 重写后的路径。

  3. 单击提交,保存规则。

配置条件源站

  1. 在目标域名的管理页左侧导航栏,单击基本配置,在源站信息区域,单击条件源站后的展开配置条件源站

  2. 单击新增条件源站,在对话框中按下表配置:

    配置项

    规则条件

    在下拉列表中选择步骤一创建的规则(如 api-to-fc

    源站地址

    输入函数计算(FC)的源站地址

  3. 单击确定,完成配置。

配置回源 HOST

  1. 在目标域名的管理页左侧导航栏,进入回源配置 > 配置 Tab,在指定源站回源HOST区域,单击添加

  2. 指定源站HOST对话框中,按下表配置:

    配置项

    配置值

    源站类型

    自定义源站。条件源站中配置的源站地址不会出现在基础源站地址的下拉列表中,需选择自定义源站后手动输入。

    源站地址

    输入步骤二中填写的 FC 源站地址

    回源HOST类型

    自定义回源HOST

    回源HOST

    填写 FC 服务的域名(如 your-fc-function.cn-hangzhou.fcapp.run

    规则条件

    (可选)选择步骤一创建的规则条件(如 api-to-fc

  3. 单击确定,完成配置。

说明

无需关闭默认回源HOST。当同一源站同时存在默认回源 HOST 配置和指定源站回源 HOST 配置时,以指定源站回源 HOST 配置优先生效;其他未单独指定回源 HOST 的源站,默认回源 HOST 仍继续生效。

配置 URL 重写(可选)

如果业务需要将 /api/ 路径重写为 FC 上的 /print/api/ 路径,需配合 CDN 的 URL 重写功能进行配置:

  1. 在规则引擎中配置 URL 重写规则,将 /api/ 重写为 /print/api/

  2. 确保步骤一中规则引擎的 URI 匹配条件能覆盖重写后的路径(如使用 */api/* 或具体匹配 /print/api/*)。

完成以上配置后,前端请求 /api/* 时将路由至 FC 服务,其他请求默认回源至 OSS。

示例:基于 Referer 的条件回源

以下示例将根据访问来源(Referer)将请求路由到不同的源站,适用于图片防盗链或来源控制的场景。

创建 Referer 规则条件

  1. 登录 CDN 控制台,在域名管理页面单击目标域名操作列的管理,在左侧导航栏单击规则引擎

  2. 单击添加规则,在规则内容区域单击加号图标添加匹配条件,按下表配置。规则引擎的匹配类型中没有独立的 Referer 选项,需通过请求头匹配类型实现:

    配置项

    规则名称

    referer-routing(自定义,便于识别)

    匹配类型

    请求头

    参数名

    Referer

    匹配运算符

    包含其中任意一个

    匹配值

    单击编辑,输入目标来源域名(如 example.com)。支持配置多个来源域名。

    区分大小写

    不勾选(默认,即忽略大小写)

  3. 单击提交,保存规则。

配置条件源站

  1. 在目标域名的管理页左侧导航栏,单击基本配置,在源站信息区域单击条件源站后的展开配置条件源站

  2. 单击新增条件源站,在对话框中按下表配置:

    配置项

    规则条件

    在下拉列表中选择 referer-routing

    源站地址

    输入 Referer 来源对应的专用源站地址

  3. 单击确定,完成配置。

示例:中国内地和非中国内地用户访问不同的源站

以下示例通过条件源站结合规则引擎实现地域分流。

  1. 登录 CDN 控制台,在域名管理页面单击目标域名操作列的管理,在左侧导航栏单击规则引擎,单击添加规则

  2. 配置中国内地规则:在规则内容区域单击加号图标添加匹配条件,匹配类型选择用户IP地理位置,匹配运算符选择包含其中任意一个,匹配值单击编辑后在下拉列表中选择中国内地,提交保存规则。

  3. 配置海外规则(兜底):另建一条规则,匹配类型选择用户IP地理位置,匹配运算符选择不包含其中任意一个,匹配值选择中国内地,提交保存规则。

  4. 配置条件源站:在基本配置的源站信息区域,分别为两个规则关联对应的源站:

    • 中国内地规则关联国内源站(如国内 OSS Bucket 或国内服务器)。

    • 非中国内地(海外)规则关联海外源站(如海外 OSS Bucket 或海外服务器)。

  5. 配置回源 Host:为每个源站分别配置指定回源 Host,确保 Host 值与对应源站域名一致。

    1. 在目标域名的管理页左侧导航栏,进入回源配置 > 配置 Tab,在指定源站回源HOST区域,单击添加

    2. 指定源站HOST对话框中,按下表配置,为国内源站和海外源站各添加一条:

      配置项

      配置值

      源站类型

      自定义源站。条件源站中配置的源站地址不会出现在基础源站地址的下拉列表中,需选择自定义源站后手动输入。若该源站地址已添加到基本配置的源站信息中(如 OSS 源站),也可选择基础源站地址后从下拉列表选择。

      源站地址

      输入步骤 4 中条件源站关联的源站地址(如国内或海外 OSS Bucket 域名)

      回源HOST类型

      自定义回源HOST

      回源HOST

      填写与该源站域名一致的 HOST 值(如 bucket.oss-cn-hangzhou.aliyuncs.com

      规则条件

      选择该源站对应的规则条件(如中国内地规则或海外规则)

    3. 单击确定,完成配置。

    说明

    无需关闭默认回源HOST。当同一源站同时存在默认回源 HOST 配置和指定源站回源 HOST 配置时,以指定源站回源 HOST 配置优先生效;其他未单独指定回源 HOST 的源站,默认回源 HOST 仍继续生效。

跨境优化建议

针对非中国内地用户访问中国内地源站延迟高或连接不稳定的场景,建议结合 OSS 传输加速优化跨境回源链路。配置方式如下:

  • 中国内地用户的条件源站回源至 OSS 普通公网域名(如 bucket.oss-cn-hangzhou.aliyuncs.com)。

  • 非中国内地用户的条件源站回源至 OSS 传输加速域名(如 bucket.oss-accelerate.aliyuncs.com)。

OSS 传输加速利用全球分布的加速节点优化跨境传输链路,可有效降低回源延迟。关于 OSS 传输加速的详细说明,参见OSS 传输加速