参考资料

  1. “回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。
  2. 在 ESA 配置了“自定义缓存标签名称”(比如改成 ESA-Cache-Tag),源站就必须同步改用这个新标头名。
  3. CacheKey 是 CDN 节点用来判断「两个请求是否命中同一份缓存」的标识
  4. 强制校验源站服务器返回的 SSL/TLS 证书是否合法有效
  5. 错误 net::err_blocked_by_response 通常表示浏览器收到了来自服务器的响应,但拒绝了它
  6. 导致 net::err_blocked_by_response 的直接原因
  7. “边缘缓存层 + 智能缓存层”是阿里云 ESA 多级缓存的一种双层架构
  8. "GET" "POST" "PUT" "DELETE" "PURGE" "HEAD" "OPTIONS" "PATCH"})

在 ESA 配置了“自定义缓存标签名称”(比如改成 ESA-Cache-Tag),源站就必须同步改用这个新标头名。

你的理解完全正确。这两项配置分别控制 ESA 识别源站缓存标签的标头名称,以及刷新缓存时对标签值的匹配规则。

标签名称:改与不改有本质区别

默认情况下,ESA 只识别源站响应头中的 Cache-Tag 标头。

如果你在 ESA 配置了“自定义缓存标签名称”(比如改成 ESA-Cache-Tag),源站就必须同步改用这个新标头名。此时如果源站仍然返回 Cache-Tag,ESA 不会识别,按标签刷新的功能就会直接失效。

忽略大小写:影响的是匹配,不只是存储

关闭(默认):严格区分。源站返回 Cache-Tag: Cat,Dog,ESA 存储的标签就是 Cat 和 Dog。你提交 cat 或 dog 去刷新,匹配不上,缓存不会刷新。

开启:ESA 会把源站返回的所有标签值统一转为小写再存储和匹配。源站返回 Cat,Dog,ESA 实际存的是 cat,dog。此时你提交 cat 或 CAT 都能成功刷新对应缓存。

一个容易忽略的联动效果

如果你改了标签名,ESA 就只认新名字。源站返回旧的 Cache-Tag 不会被使用;源站返回新的自定义标头(如 ESA-Cache-Tag)才会被 ESA 识别并打上标签。

所以配置时务必确认:ESA 里改的名字,和源站 Nginx/应用层实际输出的响应头名称,完全一致,否则功能静默失效。

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