ESA配置条件回源

更新时间:
复制为 MD 格式

当业务包含多个服务模块(如主站与子系统),且不同路径需回源至不同后端源站时,传统单一回源配置无法满足精细化流量调度需求。
通过 ESA 的条件回源功能,可根据请求路径(URI)、Host、Header 等规则,将流量智能分发至对应的源站,实现:

  • 灵活架构支持:同一域名下混合部署多套后端服务;

  • 运维解耦:各业务模块可独立部署、升级,互不影响;

  • 成本优化:避免为不同服务单独申请域名或 ESA 实例。

说明

配置条件回源涉及使用回源规则中的配置DNS记录功能,该配置项仅支持付费版套餐使用,若您使用的ESA套餐为免费版需升级套餐

配置条件回源

配置场景

加速域名esa.example.com默认回源至 default.aliyun.com,当请求 URI 以 /test2/ 开头时回源至 test2.aliyun.com

image

源站准备

  • 默认源站default.aliyun.com条件源站test2.aliyun.com

  • 各源站内容应相互隔离,避免路径冲突(例如 /test2/ 路径仅存在于条件源站)。

  • 加速域名esa.example.com已完成 ESA 接入并处于已启用状态。

操作步骤

1. 准备源站内容(用于后续验证)

  • 在 test2.aliyun.com 的 Web 服务中创建测试文件:/test2/1.txt

  • 确保 default.aliyun.com 不存在该路径或返回 404。

2. 配置ESA域名

  1. ESA控制台,选择站点管理

  2. 点击目标站点后,在左侧导航栏选择DNS > 记录,确保加速域名已配置成功:

    • 记录类型:CNAME

    • 主机记录:加速域名esa.example.com

    • 记录值/源站:域名

    • 域名:默认源站地址default.aliyun.com

    image

  3. 条件回源需要通过额外的DNS记录然后在添加回源规则中进行引用。因此需要添加一条DNS记录其中记录值/源站填写条件源站的地址test2.aliyun.com

    • 记录类型:CNAME

    • 主机记录:可自定义,如condition.example.com

    • 记录值/源站:域名

    • 域名:条件源站地址test2.aliyun.com

    image

3. 配置条件回源规则

在左侧导航栏,选择规则 > 回源规则回源规则页面单击新增规则配置如下参数:

  • 规则名称:输入自定义规则名,如test2-path-rule

  • 自定义规则:配置请求匹配条件为主机名 等于 esa.example.comAndURI 开头为 /test2/

    也可以直接编辑表达式为(http.host eq "esa.example.com" and starts_with(http.request.uri, "/test2/"))
  • 回源HOST:填写test2.aliyun.com(仅支持域名)

  • 回源协议和端口:按实际源站配置(如 HTTP 80 或 HTTPS 443)

  • DNS记录:下拉选择条件源站对应的DNS记录CNAME | condition.example.com| 代理加速 | test2.aliyun.com

image

验证配置是否生效

使用不同的访问路径测试:

访问非/test2/路径下的内容

执行以下测试命令:

curl -I "https://esa.example.com/05.png?test"  # 使用加速域名测试

返回头:x-oss-meta-from: default.aliyun.com,表示响应获取的内容来自默认源站default.example.com

image

访问/test2/路径下的内容

执行以下测试命令:

curl -I "https://esa.example.com/test2/1.txt?test"  # 使用加速域名测试

返回头:x-oss-meta-from: test2.aliyun.com,表示响应获取的内容来自条件源站test2.example.com

image