参考资料

  1. “回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。
  2. “边缘缓存层 + 智能缓存层”是阿里云 ESA 多级缓存的一种双层架构
  3. 强制校验源站服务器返回的 SSL/TLS 证书是否合法有效
  4. 加密套件是用于在 SSL/TLS 握手期间协商安全设置的算法的组合。
  5. 阿里云 ESA 的 SNI 白名单功能的核心机制
  6. 错误 net::err_blocked_by_response 通常表示浏览器收到了来自服务器的响应,但拒绝了它
  7. 针对“流氓”爬虫,核心策略是 “拒绝礼貌,直接开火”。robots.txt 对它们形同虚设,必须在 Nginx 或 ESA 层面主动拦截。
  8. _acme-challenge.madama.cnDNS 直接解析madama.cn.118555529491327488.dcv.aliyun-esa.com,申请失败

“回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。

“回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。这是回源链路中最基础、也最容易出问题的一环。

默认行为

ESA 默认跟随客户端协议回源:

  • 客户端用 HTTPS 访问,ESA 就以 HTTPS/443 回源;

  • 客户端用 HTTP 访问,ESA 就以 HTTP/80 回源。

如果你的源站只支持其中一种协议,或者监听的端口不是默认的 80/443,就会回源失败。

需要配置的典型场景

场景一:源站只有 HTTP,没有 HTTPS 证书
如果源站未配置 SSL,需要把回源协议改为 HTTP、端口 80。这样客户端到 ESA 是 HTTPS 加密,ESA 到源站是 HTTP 明文,两段独立。

场景二:源站使用自定义端口
比如 Fresns 部署在 8080 或 3000 端口,需要在回源规则里把回源端口改成源站实际监听的端口。直接在访问域名后加端口(如 域名:8081)是无效的,必须通过回源规则配置。

场景三:源站 HTTPS 但端口非 443
回源协议选 HTTPS,HTTPS 端口填源站实际端口(如 8443)。

配置路径

ESA 控制台 → 目标站点 → 规则 > 回源规则 → 新增规则 → 在“回源协议和端口”区域选择协议并填写端口。

你可以针对特定请求特征(如某个域名、路径)单独配置,也可以设为“所有传入请求”全局生效。

与 Fresns 部署的关联

如果你把 Fresns 部署在非标准端口上,回源规则是必须配的。另外注意:WebSocket 回源也依赖正确的回源端口配置,如果 Fresns 的实时功能走 WebSocket,回源端口写错同样会导致连接失败。

作者:王壹杰
时间:2026-09-28 11:20:25
来源:https://yun.ciilii.com/