DANGER

本页由 AI 工具参考代码编写,尚未经过人工审核,内容仅供参考。如果无法解决问题或需要协助部署,可邮箱联系:kuohu@getastra.cn

ESA(阿里云边缘安全加速)

通俗解释

ESA 是阿里云的「边缘节点服务」:用户请求先到离他最近的阿里云机房,简单的活儿(回个缓存、挡个坏流量)当场干完,只有真正需要的才转给源服务器。就像快递分拣中心,本地能处理的不往总仓发。

AstraSchedule 的高并发部署用 ESA 做入口:WAF 防护 + 边缘函数 + KV 缓存都在这一层完成,绝大多数课表请求不会打到函数计算源站。

专业解释

ESA(Edge Security Acceleration)是阿里云的一体化边缘平台,把 CDN 加速、WAF 安全防护、边缘函数(在边缘节点上运行的代码)和边缘 KV(键值存储)组合在一起:

  • 边缘函数:请求到达边缘时执行的轻量代码,可以决定直接应答、质询还是回源。AstraSchedule 用它做课表版本协商(版本一致返回 304,不一致才回源)
  • 边缘 KV:分布在边缘节点的键值存储(本项目容量 1GB),只存课表的版本号,不存响应体
  • WAF 自定义规则:按 UA / Referer / 地理位置做拦截或 JS 质询,AstraSchedule 用「第一方标识白名单」识别自家流量
  • 平台缓存:对静态资源的透明缓存,与边缘函数 KV 是两套独立机制

与 Cloudflare 的主要差异:ESA 在中国大陆有节点(延迟低、可配合 ICP 备案),但 API 防护、合法爬虫识别等能力受套餐等级限制。

在本项目中的位置

  • 课表读路径:客户端 → ESA 边缘(WAF + 边缘函数 + KV)→ 函数计算 → SQLite
  • 写路径通过响应头 X-Astra-Purge-Scopes 通知边缘失效对应缓存
  • 租户子域名的 CNAME 记录也由 sys-backend 通过 ESA OpenAPI 管理

详见系统架构 · 边缘缓存架构与运维手册 · WAF 与 CDN。