阿里云 ESA 接入 Halo 配置指南

8 阅读

什么是阿里云 ESA?

阿里云边缘安全加速 ESA是阿里云推出的全新一代边缘网络加速平台,整合了传统 CDN 的内容分发、DCDN 的全站加速,以及 DDoS 防护、WAF、Bot 管理、边缘计算等安全能力。相比前代产品,ESA 在全球节点覆盖、智能路由、安全原生防护和边缘 Serverless 能力上都有全面提升。

如果你此前使用的是阿里云 CDN 或 DCDN,阿里云官方已推荐将业务迁移至 ESA。ESA 与 DCDN、CDN 为相互独立的系统,你可以直接在 ESA 上重新部署站点并切换 DNS 解析生效,无需复杂的迁移操作。

CDN、DCDN 与 ESA 的区别

能力 CDN DCDN ESA
静态资源加速 支持 支持 支持(含多级缓存、冷资源保持)
动态请求加速 不支持 支持 支持(智能路由优化)
HTTPS 请求计费 收费 收费 基础版/标准版/高级版不收费
安全防护(WAF/DDoS) 不支持 基础能力 原生集成,支持更细粒度规则
DNS 托管 不支持 不支持 支持
边缘计算(函数/Pages) 不支持 仅边缘函数 支持 Pages、容器、KV 存储
接入方式 单域名 单域名 站点化接入(支持子域名批量管理)

特别注意:请不要为 Halo 配置阿里云的 CDN 产品。传统 CDN 不支持 Halo 在使用的 DELETEPATCH 等请求方式,会导致后台管理、文章保存、评论删除等操作失败。因此 Halo 站点至少需要使用支持动态加速的 DCDN 或 ESA。

对于 Halo 站点来说,接入阿里云 ESA 的主要收益是:

  • 静态资源(图片、CSS、JS)由全球 3200+ 边缘节点就近响应,显著减少加载时间

  • 动态请求通过 Anycast 智能路由和协议优化回源,降低访问延迟

  • 原生集成 DDoS 和 WAF 防护,无需单独采购安全产品

  • 源站真实 IP 被隐藏,降低被直接攻击的风险

  • HTTPS 请求数不额外计费,更适合全站 HTTPS 的站点

准备工作

在开始之前,请确认以下条件已满足:

  • Halo 站点正常运行:站点可以通过公网 IP 或已有域名正常访问

  • 域名已完成 ICP 备案:在中国大陆节点加速要求域名已备案

  • 已有阿里云账号并完成实名认证

添加站点并接入域名

1. 登录 ESA 控制台

访问 阿里云 ESA 控制台,首次使用需要开通服务。开通后点击添加站点

2. 输入站点域名

填写你的 Halo 站点主域名(例如 example.com),点击下一步

推荐输入主域名,然后在 DNS → 记录 中为需要加速的子域添加记录并开启代理加速。

3. 选择套餐

根据流量规模和功能需求选择合适的套餐:

  • 基础版:适合个人博客或小型站点,按流量计费

  • 标准版/高级版:适合中小型商业站点,包含更多安全规则和边缘计算额度

  • 企业版:大型站点定制方案

选择后勾选服务协议,点击下一步完成站点创建。

4. 验证域名归属权

按照页面上的提示,在域名 DNS 服务商添加对应解析即可,配置完成之后,点击下方的 点击验证 按钮以测试是否配置正确。

5. 在 DNS 记录中添加加速域名

在 ESA 中,需要走边缘加速的具体子域名是在站点的 DNS → 记录 里添加的,而不是在单独的「域名管理」里新建一条站点外域名列表项。

  1. 进入该站点左侧菜单 DNS → 记录,点击 添加记录

  2. 选择记录类型(常见为 A/AAAA 指向源站 IP,或由控制台引导选择 CNAME 等),填写主机记录(子域名前缀,如 wwwdemo)。

  3. 打开 代理加速(代理状态为开启),这样该记录对应的访问流量才会经过 ESA 边缘网络;若关闭代理,则仅为普通 DNS 解析,不会获得加速与安全能力。

  4. 填写记录值 / 源站(如服务器公网 IP 或源站域名)、回源协议建议选协议跟随;Halo 若未反代,回源端口一般为 8090,若前面已有 Nginx 反代到标准端口则按 80/443 填写。回源 Host 默认与请求 Host 一致即可,若有特殊回源需求可在 回源规则 中调整。

  5. 向导中可能要求选择业务类型(如「网站页面」)、是否使用规则模板(缓存、压缩等);对 Halo 可参考后文「边缘缓存规则」做一致或更细的调整。

  6. 保存后,若使用 CNAME 接入,控制台会提示在域名解析服务商处添加 CNAME,把该子域名指向 ESA 给出的记录值;解析生效后访客才会真正从边缘访问。

配置 HTTPS

在站点左侧打开 SSL/TLS → 边缘证书,进入 证书管理 区域,为已在 DNS → 记录 中接入代理加速的域名配置证书:

  1. 点击 申请免费证书:按向导选择主机名(需与已添加的加速子域名一致),由平台自动签发与续期(例如 Let's Encrypt 免费证书),适合大多数 Halo 站点。

  2. 或点击 上传自定义证书:自行上传证书与私钥;需在到期前手动更新并重新上传。

证书与主机名绑定并生效后,该域名即可通过 HTTPS 访问。

yxxayggIwSpNxuIoJvyboEGrpmCbFeAP.png

证书配置完成后,前往 Halo 控制台将外部访问地址更新为 https:// 开头的地址(路径:控制台 → 概览 → 外部访问地址),否则页面中的静态资源链接可能仍生成 HTTP 地址,导致混合内容警告。

针对 Halo 的推荐配置

站点接入完成后,建议在 ESA 控制台中按以下说明调整配置,以获得更好的加速效果并确保 Halo 功能正常。

边缘缓存规则

进入 规则 → 缓存规则 页面,选择系统自动为我们创建的规则项,将 边缘缓存过期时间 选择为 优先遵循源站缓存策略(如果存在),否则不缓存。

uBTqqgnBZyEhWdqnvEhuTasMSwKlHPDd.png

查询字符串 选择为 全部保留

dXaTaJpLMusxsdpXMRbhMnMjxyScXjKJ.png

速度优化

速度和网络 → 优化 中可酌情开启:

  • Gzip 压缩 / Brotli 压缩:自动压缩文本类资源,减少传输体积

  • HTTP/2HTTP/3 (QUIC):提升现代浏览器的访问性能

ZGsZEOrVUKvzvdDbawUFXiBKISQCfeEY.png

验证是否生效

配置完成后,可以通过以下方式验证 ESA 是否正常工作:

  1. 打开浏览器开发者工具,访问你的站点,在 Network 面板中查看静态资源的响应头;

  2. 如果响应头中出现 x-site-cache-statusserver: ESA 等阿里云特征头,说明资源已由边缘节点响应;

  3. 使用 DNS Checker 验证域名解析是否已指向 ESA 节点。

配合页面缓存插件

在大多数情况下,CDN 对于静态资源通常有比较好的效果,但页面请求通常不会进行缓存,如果你期望对 Halo 的页面也在节点缓存,可以考虑配合静态页面缓存插件使用,详见:使用页面缓存插件优化 Halo 网站速度


评论