场景说明:域名托管在阿里云,内网服务器有动态公网 IP,路由器已完成端口转发。本文提供一套完整的阿里云 ESA 配置指南,涵盖环境准备、DDNS 配置、ESA 站点接入、端口回源规则配置、HTTPS 证书配置、高级优化及故障排查。
一、前置条件与环境确认
在开始配置前,请确认以下条件均已满足:
1.1 账号与服务准备
- 阿里云账号:已完成实名认证。
- ESA 服务开通:登录阿里云控制台,搜索“边缘安全加速 ESA”,开通服务(免费版即可满足绝大多数场景需求)。
- 域名托管:域名已在阿里云(云解析 DNS)完成托管。
1.2 网络环境确认
- 公网 IP:确认宽带运营商提供了公网 IP(IPv4 或 IPv6)。
- 端口转发:已在路由器中完成端口转发配置(例如外网端口 8080 → 内网服务器端口 8080),并确认可通过
http://公网IP:端口或https://公网IP:端口正常访问内网服务。 - 端口可用性:如运营商封锁了 80/443 等标准端口,请将内网服务端口改为其他可用端口(如 8080、8443 等)。
1.3 需准备的工具/凭据
- DDNS 工具:推荐 Lucky、DDNS-GO,或 NAS 自带 DDNS 工具。
- 阿里云 AccessKey:登录阿里云控制台 → AccessKey 管理 → 创建 AccessKey,获取 AccessKey ID 和 AccessKey Secret,需具备 ESA 相关操作权限(AliyunESAFullAccess)。
- 路由器访问权限:用于配置端口转发。
二、第一步:配置 DDNS(核心:将动态公网 IP 绑定到域名)
DDNS 是整套方案的核心基础。由于家庭宽带的公网 IP 会变化,必须通过 DDNS 让一个固定的域名始终解析到当前的公网 IP,作为 ESA 回源的“锚点”。
2.1 方案一:使用 DDNS-GO(推荐,轻量通用)
- 下载并运行 DDNS-GO(支持 Windows / Linux / macOS / Docker)。
- 在配置界面中选择 DNS 服务商为“阿里云”。
- 填写 AccessKey ID 和 AccessKey Secret。
- 设置需要解析的域名(例如
origin.yourdomain.com),选择 IPv4 或 IPv6 记录类型。 - 设置检查间隔(建议 5 分钟)。
2.2 方案二:使用 Lucky(功能更丰富,支持 Docker)
- 部署 Lucky 容器。
- 进入 Lucky 管理界面 → DDNS 设置。
- 添加阿里云 DNS 解析记录,配置域名(如
origin.yourdomain.com)。 - 设置 IP 自动更新频率。
2.3 方案三:使用 NAS 自带 DDNS(如群晖、飞牛等)
- 进入 NAS 后台 → 远程访问 → DDNS。
- 填写域名(如
origin.yourdomain.com)和阿里云 AccessKey。 - 选择 IPv6 自动更新(如适用)。
2.4 验证 DDNS 是否生效
配置完成后,通过命令行验证:
bash
nslookup origin.yourdomain.com
ping origin.yourdomain.com
确认返回的 IP 地址与当前公网 IP 一致。同时确认可通过 http://origin.yourdomain.com:端口 直接访问内网服务,这是确保后续 ESA 能正确回源的关键步骤。
关键提示:ESA 免费版支持配置域名类型的源站,DDNS 域名(如
origin.yourdomain.com)将作为 ESA 回源的“源站锚点”,ESA 每次请求时都会实时解析该域名获取最新公网 IP。因此不需要在 ESA 层面做额外动态 IP 处理。
三、第二步:ESA 站点配置
3.1 新增站点
- 登录阿里云 ESA 控制台 → 左侧菜单“站点管理” → “新增站点”。
- 填写主域名(如
yourdomain.com),点击下一步。 - 配置参数:
- 接入方式:建议选择 CNAME 接入(兼容性更强,无需修改域名 NS 服务器,不影响现有解析)。
- 加速区域:
- 域名已备案 → 选“中国内地”(速度更快)
- 域名未备案 → 选“全球(不含中国内地)”
- 套餐类型:选择已领取的免费版或基础版。
3.2 域名所有权验证
- 系统会生成一条 TXT 记录(主机记录以
_esaauth开头,记录值为验证码)。 - 登录阿里云云解析 DNS 控制台 → 添加记录:
- 记录类型:TXT
- 主机记录:填写 ESA 给出的主机记录值
- 记录值:填写 ESA 给出的验证码
- 回到 ESA 控制台,点击“验证”。
3.3 配置 DNS 代理记录(CNAME 拉平)
- 进入已创建的站点 → “DNS” → “记录” → “添加记录”。
- 配置参数:
- 记录类型:CNAME
- 主机记录:想要使用的加速域名前缀(如
nas,即最终访问域名为nas.yourdomain.com) - 记录值/源站:选择“域名”,填入步骤二中配置的 DDNS 域名(如
origin.yourdomain.com) - 代理状态:必须开启(云朵图标点亮),流量才会经过 ESA 节点
- (可选)在 DNS → 设置中开启“CNAME 拉平”,选择“拉平所有 CNAME”,优化解析速度。

关键点就是域名,一定是ddns解析的域名,子域名即可,主机记录就是访问时的地址。一般情况下CNAME地址是:访问域名+.a1.initxb.com。
3.4 域名解析回填(重要:让流量指向 ESA)
CNAME 记录配置后,ESA 会为 nas.yourdomain.com 生成一个专属的 CNAME 地址(如 nas.yourdomain.com.w.cdngslb.com)。
- 登录阿里云云解析 DNS 控制台 → 添加 CNAME 记录:
- 主机记录:
nas(与 ESA 中的主机记录一致) - 记录值:粘贴 ESA 提供的 CNAME 地址
- 主机记录:
- 在 ESA 控制台点击“查询”验证 CNAME 生效状态,显示“CNAME 已生效”后点击“我已完成 CNAME 配置”。
四、第三步:配置端口回源规则(消除端口号,核心配置)
这是整个方案中最关键的一步。由于 ESA 节点默认使用 80/443 端口访问源站,而你的内网服务运行在自定义端口上(如 8080),必须配置回源规则让 ESA 通过正确的端口访问源站。
4.1 操作步骤
- 进入站点 → “规则” → “回源规则” → “新增规则”。
- 填写规则名称(如“内网服务回源”)。
- 传入请求匹配条件:
- 选择“自定义规则”
- 主机名:等于你的加速域名(如
nas.yourdomain.com)
- 回源配置:
- 回源协议:选择“跟随客户端”或根据服务协议选择 HTTP/HTTPS
- 端口:填写内网服务的实际端口号(如 8080)
- 点击确定保存,确保规则状态显示为绿色(已生效)。
4.2 关键说明
- 系统默认:ESA 默认使用 HTTP 端口 80 和 HTTPS 端口 443 访问源站。
- 自定义端口:通过上述回源规则配置后,ESA 会使用你指定的端口号(如 8080)访问源站。
- 效果:用户访问
https://nas.yourdomain.com时,ESA 自动将请求转发到origin.yourdomain.com:8080,用户无需在 URL 中加端口号。 - 多条规则:如有多个应用运行在不同端口(如 NAS 的 5000、Web 服务的 8080),可以为每个应用分别创建回源规则,通过不同的主机记录进行区分。
五、第四步:HTTPS 证书配置
5.1 证书类型选择
ESA 支持两种证书模式:
- 免费证书(Let's Encrypt / Digicert):系统自动签发并自动续期,适合个人网站和博客,推荐使用。
- 自定义上传证书:可上传企业自有证书,满足品牌化 SSL 展示及合规需求,需手动管理有效期。
5.2 申请免费证书
- 进入站点 → “SSL/TLS” → “边缘证书”。
- 点击“申请免费证书”。
- 选择证书颁发机构(推荐 Let's Encrypt,支持泛域名)。
- 输入证书域名:
- 单域名:
nas.yourdomain.com - 泛域名:
*.yourdomain.com(可覆盖所有子域名,建议使用,一个证书解决所有子域名 HTTPS 需求)
- 单域名:
- 点击确定,等待自动签发(通常 1-2 分钟),状态显示“正常”即成功。
5.3 可选增强配置
在 SSL/TLS 设置中,建议开启以下功能:
- 强制 HTTPS:将所有 HTTP 请求自动 301 重定向到 HTTPS,提升安全性。
- OCSP Stapling:缓存证书状态信息,减少 SSL 握手时间。
- HTTP/2 或 HTTP/3:在“速度优化”中开启,提升传输效率。
- HSTS:告知浏览器只能通过 HTTPS 访问,防止协议降级攻击。
六、第五步:高级优化配置
6.1 速度优化
进入站点 → “速度和网络” → “速度优化”,可配置:
- 协议优化:开启 HTTP/2 和 HTTP/3(QUIC),弱网环境下效果显著。
- 资源压缩:开启 Gzip 和 Brotli 压缩,减少传输体积。
- 图像转换(如适用):对源站图片进行格式转换、压缩等处理,减少回源流量。
6.2 网络优化
进入站点 → “速度和网络” → “网络优化”,可配置:
- IPv6 访问:开启后支持 IPv4/IPv6 双栈访问,兼容多网络环境。
- WebSocket:如应用需要 WebSocket 长连接,可在此开启。
- gRPC 连接:如使用 gRPC 协议,可开启加速。
6.3 缓存策略配置
进入站点 → “缓存”,可配置:
- 静态资源(图片、CSS、JS 等)设置较长的缓存时间(如 7 天)。
- 动态页面设置较短缓存或不缓存。
七、第六步:效果验证
7.1 基础验证
- 在浏览器中访问
https://nas.yourdomain.com(无需加端口号)。 - 检查是否正常打开内网服务页面。
- 查看浏览器地址栏,确认 HTTPS 证书状态正常(显示安全锁图标)。
7.2 高级验证
- 多地测速:使用 ITDog 等工具进行多地 TC Ping 和 HTTP 测试,确认加速效果。
- 回源追踪:在源站服务器日志中查看访问来源 IP,应显示为 ESA 节点 IP 而非客户端真实 IP。
- CNAME 生效检查:使用
dig nas.yourdomain.com确认解析指向 ESA 提供的 CNAME 地址。
八、故障排查指南
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 访问 ESA 域名无法打开 | DDNS 未生效 / 端口转发未配置 | 确认 origin.yourdomain.com:端口 可直接访问;检查路由器端口转发配置 |
| 访问出现 502/504 错误 | 回源端口配置错误 / 源站不可达 | 检查回源规则中的端口号是否与内网服务端口一致;确认源站服务正常运行 |
| 证书状态显示异常 | 域名验证未完成 / 证书申请失败 | 确认域名所有权 TXT 记录已正确添加;重新申请免费证书 |
| CNAME 未生效 | DNS 解析未同步 | 等待 DNS 生效(通常 5-10 分钟);检查云解析 DNS 中的 CNAME 记录是否正确 |
| IPv6 环境下无法访问 | IPv6 功能未开启 | 在“网络优化”中开启 IPv6 访问 |
九、安全建议
- 隐藏真实 IP:ESA 代理模式下,用户始终访问 ESA 边缘节点 IP,源站真实 IP 不会暴露。
- 源站访问控制:建议在路由器或内网服务器防火墙中配置策略,仅允许 ESA 节点 IP 访问源站服务端口,防止源站被直接攻击。
- HTTPS 全站加密:开启强制 HTTPS,确保数据传输安全。
- AccessKey 安全:DDNS 配置中使用的 AccessKey 建议在 RAM 控制台中创建子账号,并仅授予最小必要权限(
AliyunESAFullAccess),避免使用主账号 AccessKey。 - WAF 防护:如使用付费版 ESA,建议开启 WAF 功能,配置基础防护规则,防范常见 Web 攻击。