DANGER

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

配置 ESA 全站加速与安全防护

概述

阿里云 ESA(Edge Security Acceleration,边缘安全加速)是企业级全站加速与安全防护产品,集成了 CDN 加速、WAF(Web 应用防火墙)、DDoS 防护、SSL 证书管理等功能。相比 Cloudflare 免费版,ESA 提供更低的中国大陆访问延迟和更丰富的安全规则。

与 Cloudflare 的区别

对比项Cloudflare 免费版阿里云 ESA
中国大陆加速❌ 默认不加速,延迟高✅ 国内节点覆盖,延迟低
WAF 规则基础规则企业级规则,支持自定义
DDoS 防护基础企业级,更高防护带宽
速率限制有限灵活配置
SSL 证书免费通用证书免费证书 + 支持上传自有证书
中国大陆合规需额外配置原生合规

💡 如果你的用户都在中国大陆,强烈推荐使用 ESA。如果用户主要在海外,Cloudflare 免费版也是不错的选择。

你需要准备

  • 阿里云账号(已实名认证)
  • 一个已备案的域名(中国大陆服务器要求备案)
  • 已部署后端函数计算和前端管理端

步骤

1. 开通 ESA 服务

  1. 登录 阿里云 ESA 控制台
  2. 首次使用按提示开通服务
  3. 选择合适的套餐(按量付费或包年包月)

2. 添加站点

  1. 点击「添加站点」
  2. 输入你的域名,如 your-domain.com
  3. 选择加速区域(建议选择「中国大陆」或「全球」)
  4. 完成添加

3. 修改 DNS 服务器(如需 ESA 托管 DNS)

如果使用 ESA 托管 DNS,需要将域名的 DNS 服务器修改为 ESA 提供的地址:

  1. ESA 会提供两组 DNS 服务器地址
  2. 到你的域名注册商处,修改 DNS 服务器为 ESA 提供的地址
  3. 等待 DNS 生效(通常几分钟到几小时)

💡 也可以不修改 DNS 服务器,仅使用 ESA 的加速和安全功能。此时需要在现有 DNS 服务商(如 Cloudflare)处将记录指向 ESA。

4. 配置 DNS 记录

在 ESA 控制台的「DNS 记录」中添加以下记录:

类型名称内容说明
CNAMEapi函数计算的公网访问地址后端 API
CNAMEadmin管理端的托管地址管理后台
CNAME@如有官网,指向官网地址主域名

5. 配置 SSL 证书

ESA 会自动为你的域名申请免费的 SSL 证书:

  1. 进入「SSL/TLS」设置
  2. 选择加密模式:
    • 严格:要求源站也有有效证书(推荐生产环境)
    • 灵活:ESA 到客户端加密,ESA 到源站 HTTP(仅开发测试推荐)
  3. 确认证书状态为「已生效」

💡 ESA 默认使用阿里云免费证书,也支持上传自有证书。

6. 配置 WAF 规则

WAF(Web 应用防火墙)可以防御 SQL 注入、XSS、CSRF 等常见 Web 攻击:

  1. 进入「安全防护」→「WAF」

  2. 开启「基础防护规则」

  3. 选择防护级别:

    • 严格:拦截所有可疑请求(安全性最高,可能有误拦截)
    • 中等:拦截高风险请求(推荐)
    • 宽松:仅拦截明确攻击(安全性较低)
  4. 添加自定义规则(可选):

规则示例:限制 API 路径访问频率
条件:URI 路径包含 /api/ 且 请求频率 > 100次/分钟
动作:拦截

💡 WAF 规则配置需要根据实际业务调整。建议先用「中等」级别运行一周,根据误拦截情况微调。

7. 配置速率限制

速率限制可以防止单个 IP 过度调用导致资源耗尽:

  1. 进入「安全防护」→「速率限制」
  2. 创建规则:
配置项推荐值说明
路径/api/*限制 API 接口
阈值60 次/分钟单个 IP 每分钟最大请求数
动作拦截超出阈值后拦截
  1. 对于不同的接口路径,可以设置不同的限制:
    • 课表查询:高频接口,可设置较高阈值
    • 配置修改:低频接口,可设置较低阈值

8. 配置 DDoS 防护

ESA 默认提供 DDoS 防护能力,无需额外配置。ESA 的 DDoS 防护包括:

  • 网络层 DDoS 防护:自动清洗 TCP/UDP 洪水攻击
  • 应用层 DDoS 防护:结合 WAF 和速率限制,防御 HTTP 洪水攻击
  • CC 攻击防护:智能识别恶意爬虫和 CC 攻击

💡 ESA 的 DDoS 防护能力与套餐等级相关。如果业务对外暴露且重要性高,建议选择较高等级的套餐。

9. 配置缓存规则(可选)

ESA 可以对静态资源进行缓存加速:

  1. 进入「加速」→「缓存配置」
  2. 添加缓存规则:
路径缓存时间说明
/static/*7 天静态资源长期缓存
/api/*不缓存API 响应不缓存

10. 验证

完成配置后,验证 ESA 是否生效:

  1. 在浏览器访问 https://api.your-domain.com/
  2. 检查响应头中是否包含 ESA 相关的头信息(如 Server: AliyunESA
  3. 测试 WAF 防护:尝试在 URL 中传入简单的 SQL 注入测试字符串,观察是否被拦截
# 简单 WAF 测试(应返回 403 或拦截页面)
curl "https://api.your-domain.com/?id=1'or'1'='1"

成本参考

ESA 费用取决于套餐等级和流量:

套餐月费适用场景
按量付费按流量计费小规模使用
基础版约 200 元/月单校使用
企业版按需定制多校共用、高并发

💡 如果成本敏感,可以考虑先用 Cloudflare 免费版替代 ESA。但请注意 Cloudflare 在中国大陆的访问速度可能较慢。