配置条件源站

更新时间:
复制为 MD 格式

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

前提条件

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

注意事项

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

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

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

  • 配置生效:按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配;命中某一条后不再继续匹配。

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

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

源站类型

触发条件

条件源站

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

高级回源

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

基础源站

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

操作步骤

  1. 登录CDN控制台

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

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

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

  5. 单击新增条件源站

  6. 设置规则条件

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

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

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

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

示例:按 URL 路径回源到不同源站

高级回源仅支持精确值匹配,不支持通配符或正则表达式。要实现的路径级回源,可以使用条件源站与规则引擎。

以下示例将 /api/* 路径的请求回源到 API 专用源站,其余路径回源到基础源站。请求按以下流程路由:用户请求 → CDN 边缘 → 规则引擎匹配 URI → 匹配 /api/* 则回源到 API 源站,其余路径回源到基础源站。

在规则引擎中创建规则条件

  1. 登录 CDN 控制台,选择目标域名,进入域名管理 > 规则引擎

  2. 单击添加规则,按下表配置:

    配置项

    规则名称

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

    匹配类型

    URI

    匹配运算符

    包含其中任意一个

    匹配值

    /api/*

    说明

    * 匹配任意多个字符(包括空字符串),? 匹配任意单个字符。例如:

    • /api/*:匹配 /api/ 下的所有路径,如 /api/v1/users/api/v2/products

    • /img/*.png:匹配 /img/ 目录下所有 PNG 文件,如 /img/a.png/img/b.png

    • /static/v?/js/*:匹配 /static/v1/js//static/v2/js/ 等带版本号的路径

    大小写敏感

    忽略大小写

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

配置条件源站

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

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

    配置项

    规则条件

    在下拉列表中选择第一阶段创建的 api-path-routing

    源站地址

    输入 API 专用源站地址

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

验证

配置完成后,通过以下命令测试不同路径的回源结果:


# 访问 /api/ 路径,应回源到 API 源站
curl -I https://www.example.com/api/users

# 访问其他路径,应回源到基础源站
curl -I https://www.example.com/index.html