当业务包含多个服务模块(如主站与子系统),且不同路径需回源至不同后端源站时,传统单一回源配置无法满足精细化流量调度需求。
通过 ESA 的条件回源功能,可根据请求路径(URI)、Host、Header 等规则,将流量智能分发至对应的源站,实现:
灵活架构支持:同一域名下混合部署多套后端服务;
运维解耦:各业务模块可独立部署、升级,互不影响;
成本优化:避免为不同服务单独申请域名或 CDN 实例。
源站准备
已明确默认源站与条件源站的地址(如
test1.aliyun.com和test2.aliyun.com)。各源站内容应相互隔离,避免路径冲突(例如
/test2/路径仅存在于条件源站)。域名接入:目标域名已完成 ESA 接入并处于“已启用”状态。
操作步骤
以下以“默认回源至 test1.aliyun.com,当请求 URI 以 /test2/ 开头时回源至 test2.aliyun.com”为例:
1. 准备源站内容(用于后续验证)
在
test2.aliyun.com的 Web 服务中创建测试文件:/test2/1.txt。确保
test1.aliyun.com不存在该路径或返回 404。
2. 配置ESA域名
在ESA控制台,选择站点管理。
点击目标站点后,在左侧导航栏选择,添加加速域名(如
esatest.aliyun.com),完成 DNS 接入。

3. 配置条件回源规则
在在左侧导航栏,选择。页面点击单击新增规则,填写规则名称。,设置如下参数:
单击新增规则,填写规则名称。:
test2-path-rule(自定义)。传入请求类型:自定义规则,主机名和URI,URI匹配方式设置开头为,值填写
/test2/。回源HOST:填写
test2.aliyun.com(支持 IP 或域名);回源协议和端口:按实际源站配置(如 HTTP 80 或 HTTPS 443);
DNS记录:指向对应的条件源站。
系统会自动保留一条“默认回源规则”,指向您最初配置的主源站(test1.aliyun.com),无需额外操作。
验证配置是否生效
在两台服务器分别针对测试文件增加响应头来进行确认来自哪台服务器。
curl -I "https://<ESA边缘IP>/05.png?test"test1.aliyun.com 返回头:x-oss-meta-from: test1.aliyun.com

curl -I "https://<ESA边缘IP>/test2/1.txt?test"test2.aliyun.com 返回头:x-oss-meta-from: test2.aliyun.com
