雷池(Safeline) + Lucky 通过阿里云 ESA 实现泛域名反向代理
一、配置阿里云 ESA
登录 阿里云 ESA(边缘安全加速) 控制台 ,在 站点管理 创建 1 个站点。
官方试用版: ESA开发者动员限时活动 。
新增站点。
将站点接入 ESA:
example.com选择区域和接入方式。
获得加速与保护的区域:
中国内地(需要备案)接入方式:CNAME或NS。
二、CNAME 形式
创建完成后,进入 example.com 配置。
2.1 DNS -> 记录
添加泛域名 DNS 记录:
| 项 | 值 | 附 |
|---|---|---|
| 记录类型 | CNAME | |
| 主机记录 | * | .example.com |
| 代理状态 | 开启 | 代理加速 |
| 记录值/源站 | 域名 | |
| 回源 HOST | 跟随请求 HOST | |
| TTL | 自动 |
保存即可。
2.2 规则 -> 回源规则
新增回源规则:
| 项 | 值 | ||
|---|---|---|---|
| 规则名称 | *.example_to_example |
||
| 规则内容 | |||
| 如果请求匹配以下规则... | |||
| 传入请求类型 | |||
| 主机名 | 结尾为 | .example.com | |
| 则执行… | |||
| 回源协议和端口 | 回源协议 | 跟随客户端 | |
| HTTPS 端口 | 16667 | ||
| 回源301/302跟随 | 状态 | 关闭 |
保存即可。
Unraid 网页不支持回源301/302跟随,否则报错:
This status code indicates that the request received by the ESA node has exceeded the maximum number of times it can enter the ESA network in a loop.
ESA 节点收到的请求,在 ESA 网络中循环进入的次数已超过最大限制(循环路由 / 回环次数超限)。
此时,根据前文 雷池(Safeline)通过 Docker 安装 Lucky 实现DDNS、反向代理、重定向 - Yogile - 博客园 内容中配置的前端地址 waf.example.com ,即可访问 https://waf.example.com 。因没有配置 ESA 边缘证书,故访问提示证书连接不安全。
2.3 SSL/TLS -> 边缘证书
设置开启 SSL/TLS 。
方式一:域名在阿里云
以 Let's Encrypt 证书为例,托管 DCV:
页面提示:
在为未托管域名申请证书时,可将 DCV 校验托管至 ESA 域名。开启托管 DCV 后,需要在权威 DNS 添加一条 CNAME 记录,从而将站点域名的 DCV 校验 CNAME 至 ESA 域名。
记录类型:CNAME
主机记录:
- 【Digicert证书】:
_dnsauth.<hostname>- 【Let's Encrypt证书】:
_acme-challenge.<hostname>记录值:
<hostname>.<站点ID>.dcv.aliyun-esa.com
在 阿里云云解析 DNS ( https://dnsnext.console.aliyun.com/authoritative/domains/example.com )添加记录:
| 项 | 值 | |
|---|---|---|
| 记录类型 | CNAME |
|
| 主机记录 | _acme-challenge |
.example.com |
| 解析请求来源 | 默认 | |
| 记录值 | example.com.<站点ID>.dcv.aliyun-esa.com | |
| TTL | 10(推荐) | 分钟 |
保存即可。
再申请免费证书:
| 项 | 值 |
|---|---|
| 证书颁发机构 | Let's Encrypt(无SLA) |
| 证书域名 | *.example.com |
保存即可,预计在10分钟内通过申请。
若提示未通过,则检查
阿里云云解析 DNS( https://dnsnext.console.aliyun.com/authoritative/domains/example.com )配置是否正确。
当刷新后,*.example.com 证书状态显示 “正常”,再访问 https://waf.example.com 就没有不安全提示了。
方式二:云盾证书
使用 控制台 数字证书管理服务 已上传的证书。
在 SSL/TLS -> 边缘证书 证书管理中,选择 上传自定义证书 :
| 项 | 值 |
|---|---|
| 证书来源 | 云盾证书 |
| 证书名称 | cert-xxxxxx |
cert-xxxxxx为 控制台 数字证书管理服务 对应*.example.com的证书。
方式三:自定义证书
在 SSL/TLS -> 边缘证书 证书管理中,选择 上传自定义证书 :
| 项 | 值 |
|---|---|
| 证书来源 | 自定义证书 |
| 证书名称 | *.example.com |
| 证书(公钥) | xxxxxx |
| 私钥 | xxxxxx |
可上传前文 雷池(Safeline)通过 Docker 安装 Lucky 实现DDNS、反向代理、重定向 - Yogile - 博客园 内容中配置 SSL/TLS证书时申请的
*.example.com的证书。
2.4 Lucky 对泛域名创建子站点
在 Web服务 中,即可添加其他子规则(反向代理):
| 项 | 值 |
|---|---|
| 子规则名称 | other |
| 子规则开关 | 启用 |
| 服务类型 | 反向代理 |
| 前端地址 | other.example.com |
| 后端地址 | https://{host}:xxxx |
| CorazaWAF | 无 |
| 万事大吉 | 启用 |
| 忽略后端TLS证书验证 | 是 |
| 使用目标地址Host请求头 | 否 |
| 自动反代重定向 | 否 |
| 记录访问日志 | 启用 |
保存即可访问 https://other.example.com => https://example.com:16667(雷池代理) => https://example.com:16666(Lucky 代理)。
三、NS 形式
若域名 example.com 未接入其他服务,可通过 NS 形式创建站点( 将域名接入ESA-边缘安全加速(ESA)-阿里云帮助中心 )。
| 接入方式 | 说明 | 适用场景 | 优势 |
|---|---|---|---|
| NS接入 | 将域名解析完全托管至ESA,实现DNS解析与加速一体化管理。 | 新注册的域名,未配置任何DNS解析。首次使用CDN/加速服务。需要一站式DNS托管和流量管理。 | 完全由ESA接管DNS解析,实现统一管理。支持智能路由、全局流量调度。简化运维,提升安全性和加速效果。 |
| CNAME接入 | 域名解析通过DNS服务商完成,ESA提供域名加速和集中管理能力。 | 更熟悉传统CDN类产品。仅需部分业务接入ESA,保持原有解析架构。 | 灵活接入,不影响现有DNS配置。可针对特定子域名加速。 |
也可以按照官方教程( 切换站点的CNAME与NS接入方式-边缘安全加速-阿里云 )进行切换。
四、雷池+Lucky防护架构
例如,本地服务器192.168.1.199,提供漫画网页服务lanraragi,协议HTTP,端口8088,网址http://192.168.1.199:8088。
代理配置过程如下。

如此,既可以实现统一接口对外安全服务,又可以对每个子规则(子域名)的安全措施单独配置。
-
二级域名访问 (
https://lanraragi.example.com),通过阿里云 DNS 解析指向阿里云 ESA。 -
阿里云 ESA 匹配泛域名(
https://*.example.com),指向阿里云 ESA 的 DNS 记录、回源协议、回源端口(example.com、HTTPS、16667),通过阿里云 DNS 解析指向域名(example.com)的 AAAA(IPv6)实际地址物理主机:雷池防护应用16667端口(https://example.com:16667)。AAAA(IPv6)实际地址为 Lucky DDNS 结果。
-
雷池防护应用16667端口(
https://example.com:16667) ,反向代理到 LuckyWeb服务(16666端口)(https://*.example.com:16666)。 -
Lucky
Web服务(16666端口)解析网络请求的初始HOST(https://lanraragi.example.com),匹配子规则的前端地址(lanraragi.example.com),反向代理到后端地址:雷池防护应用8088端口(https://example.com:8088)。 -
雷池防护应用8088端口(
https://example.com:8088) ,反向代理到本地服务器192.168.1.199(http://192.168.1.199:8088)。

浙公网安备 33010602011771号