当边缘安全加速 ESA回源站请求资源时,默认使用的Host请求头会由源站类型决定。当实际业务需要与默认配置不一致时,需通过修改回源Host请求头,确保请求正确回源。
您的源站服务器需要支持通过Host请求头匹配不同的虚拟站点,否则该功能配置无法达到预期的功能效果。
您所设置的回源规则中的回源Host参数的生效优先级高于在管理DNS记录中设置的回源Host参数,在两处同时设置的情况下,回源规则中的回源Host参数配置的值将会最终生效。
背景信息
默认回源Host机制
Host请求头用于指定请求的服务器域名,ESA节点向源站请求资源时,默认Host将遵循:
记录值/源站为IPv4/IPv6/域名/负载均衡器/源地址池:回源HOST的默认配置是跟随请求HOST,即使用客户端请求中携带的Host作为回源Host。
记录值/源站为OSS/S3兼容:回源HOST的默认配置是跟随源站域名,即使用源站的域名作为回源Host。
源站将根据回源请求头中的Host(如www.example.com)返回对应站点的资源,如果您的源站上配置了多个站点(如使用了虚拟站点场景),源站将校验回源请求中携带的Host字段和站点名称以返回正确的资源。
虚拟站点场景
虚拟站点技术是一种在单个Web服务器上提供多个网站服务的技术。服务器通过使用不同的域名或主机名来区分和隔离不同的网站。当用户请求访问某个特定的域名或主机名时,服务器会根据请求的域名或主机名,将请求定向到相应的虚拟站点,从而提供相应的网站内容。
创建回源Host规则
常见回源场景配置
函数计算(FC)场景
当 ESA 加速域名与 FC 绑定的自定义域名不一致时,回源请求因 Host 不匹配会报 DomainNameNotFound 错误。需新增回源规则:
匹配条件:将主机名(Host)设置为 ESA 加速域名。
回源 Host:修改为 FC 实际绑定的自定义域名。
GA/WAF CNAME 接入场景
当源站为 GA 或 WAF 的 CNAME 地址,且后端服务依赖特定 Host 头路由流量时,必须在回源规则中显式配置回源 Host 和回源 SNI:
回源 Host:设置为 GA/WAF 实例上绑定的真实域名(而非 ESA 加速域名或 CNAME 地址)。
回源 SNI:设置为与回源 Host 相同的真实域名,确保 HTTPS 回源时 TLS 握手正常。
OSS 源站场景
ESA 回源 OSS 仅支持 OSS 外网域名和传输加速域名,不支持 OSS 内网域名。
若开启 ESA 后访问 OSS 提示 HostForbidden 错误,通常是源站地址误填了 OSS 自定义域名的 CNAME 记录值。需将源站地址修正为有效的 OSS 访问域名(外网域名或传输加速域名)。
多站点/虚拟主机场景
当源站服务器上存在多个站点时,必须手动配置回源 Host 和回源 SNI,以确保 ESA 节点回源时请求路由到正确的站点。若依赖默认 Host 跟随请求,ESA 节点可能回源至错误站点,导致加载错误页面或返回 404 错误。
配置虚拟站点示例
以Nginx配置虚拟站点场景为例:在Nginx配置文件中的server块设置多个虚拟站点,如:www.example.org、www.example.net、www.example.com。
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}Nginx会优先在HTTP请求头中查找Host字段以确定请求需要路由到的虚拟站点,如果没有匹配到任何一个虚拟站点,Nginx会使用默认的虚拟站点提供服务(若未配置,默认为第一个server配置为默认站点)。为实现各请求正确分配至对应虚站,可参考下方配置实现:
在ESA控制台选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择,在回源规则页面单击新增规则。
在配置页面填写相关字段后单击确定:
规则名称:填写规则名称,如
rule-virtual-com。如果请求匹配以下规则...:填写规则条件,如分别选择填写
URI完整,开头为,http://www.example.com则执行…:在回源HOST区域单击配置,填写需要对应的虚站地址如
www.example.com。
按照上一步骤,继续新创建两条规则:
rule-virtual-org和rule-virtual-net。

常见问题
为什么访问加速域名会跳转到其他域名或显示非预期页面?
访问加速域名出现跳转或显示非预期内容,通常有以下原因:
原因一:源站配置了重定向
若浏览器地址栏跳转为其他域名(如从商城域名跳转至管理后台域名),通常是源站配置了 HTTP 到 HTTPS 的 301 重定向或业务逻辑跳转。需检查源站配置,或在 ESA 回源规则中将回源 Host 和 SNI 指向正确的源站域名。
原因二:源站地址直接配置为域名
若源站地址直接配置为目标域名(如 shop.example.com)而非 IP 地址,请求可能被源站视为对该域名的直接访问并触发跳转。建议将源站地址改为服务器 IP,并通过回源 Host 指定对应域名。
原因三:回源 Host 或 SNI 与源站不匹配
当 ESA 加速域名与源站期望接收的 Host 不一致时,需在回源规则中将回源 Host 和 SNI 指定为源站实际绑定的域名。修改配置后,建议执行缓存刷新以使变更立即生效。
ESA 源站能否填写另一个 ESA 加速域名或其他 CDN 别名?
不支持将 ESA 加速域名配置为源站
ESA 不支持将另一个 ESA 加速域名配置为源站,否则会导致解析报错或请求进入死循环。需填写该加速域名背后的真实源站地址(如 OSS 域名、服务器 IP)。
支持回源至 DCDN/CDN 别名
支持通过 ESA 回源至 DCDN 或 CDN 别名,但建议关闭 DCDN/CDN 侧的缓存功能,由 ESA 统一承载缓存,避免双重缓存导致内容不一致。
使用 Cloudflare R2 作为源站
若使用 Cloudflare R2 作为源站,建议直接将源站地址配置为 R2 存储桶的直接访问地址(如 xxx.r2.cloudflarestorage.com),而非 Cloudflare 分配的代理域名,以避免双重代理增加访问延迟。
回源规则中的域名字段可以填写 IP 地址吗?
回源规则中的回源 Host 字段不能填写 IP 地址。Nginx 等源站服务器依赖 Host 头中的域名来识别虚拟站点,填写 IP 地址将导致虚拟站点路由失败。
正确做法:
在源站配置中设置源站 IP 地址。
在回源规则中,将回源 Host 字段设置为能够解析到该 IP 的域名。
如何验证回源配置修改是否生效及排查源站功能异常?
验证回源配置变更
修改回源配置后,可通过以下方式确认是否生效:
访问网站,检查返回内容是否来自新的源站。
查看源站服务器的访问日志,确认是否有来自 ESA 节点的请求记录。
排查源站功能失效问题(如语言切换失效)
若开启 ESA 后源站某项功能出现异常:
通过本地 hosts 文件将源站域名绑定到源站 IP,绕过 ESA 直接访问源站,排除源站自身问题。
清除浏览器缓存后重试,确认问题是否与缓存相关。
相关文档
规则相关的功能,在生效优先级、可重入性、生效颗粒度上存在差异,详细情况请查看规则相关功能的特性说明。


