无需公网v4 IP,利用阿里云 ESA 搭配 Lucky 解决内网服务访问
声明: 本文内使用的域名均为示例,仅供参考。
零、前言
阿里云目前提供免费的 边缘安全加速 ESA 套餐。如果你还没有申请,可以按照以下步骤操作;如果已经申请过,可以直接跳转到第二步:添加并管理站点。
一、申请与配置 ESA 套餐
1. 申请地址
前往 阿里云 ESA 免费申请页面 进行申请。
2. 免费续费操作
申请成功后,建议先续费几年。操作步骤如下:
进入阿里云控制台:网络与 CDN -> 边缘安全加速 ESA。

点击右侧的 套餐管理。

设置 续费规则,选择 12个月,立即付费。注意选择免费套餐。


完成支付。

支付成功后,继续点击 管理 ESA 套餐,循环操作续费即可。

二、添加并管理站点
添加站点:进入 站点管理页面,点击 新增站点。
输入域名:输入你自己的域名。
提示:建议使用已备案域名,以获得更好的国内访问速度。

选择区域:注意,未备案域名无法选择中国内地加速。

配置 DNS 记录:在 DNS 服务商处添加 TXT 记录进行验证(下图中展示了托管在 Cloudflare 的配置示例)。这里因为我的网站配置好后没有这个配置界面了,借用他人(前端仔玩儿nas)的图片。

验证站点:在 DNS 服务商处配置完成后,点击 ESA 页面上的验证。

三、内网配置 Lucky 实现 IPv6 DDNS
我们将使用 Lucky 来处理内网的动态域名解析。
1. 获取 Cloudflare Token
进入 Cloudflare 主页 -> 管理账户 -> 账户 API 令牌 -> 创建令牌。使用“编辑区域 DNS”模板,选择对应域名后创建并保存令牌。

2. Lucky 动态域名设置
在 Lucky 中添加服务,选择服务商(如 Cloudflare),填入 Token。
获取 IPv6 地址:可以选择脚本方式获取。 参考脚本:
ip -6 addr show dev eth0 scope global | grep -v "deprecated" | grep "ff:fe" | awk '{print $2}' | cut -d'/' -f1 | head -n 1

3. 添加同步记录
输入用于解析 IPv6 的子域名(例如 wodev6.abc.com)。

四、配置 Lucky Web 服务
添加 Web 服务:
端口建议选择 80 或 443(免输入端口)。
取消禁用 IPv4 监听,开启 IPv6。

设置规则:
添加默认规则,例如配置一个简单的“文本输出”用于测试。


五、在阿里 ESA 中配置 CNAME 与 DNS
添加记录:在 ESA 的 DNS 管理中点击 添加记录。

设置记录值:
主机记录:自定义(如 *.xxx)。
记录值:填入刚才在 Lucky 中解析的 IPv6 域名(如 wodev6.abc.com)。

完成 CNAME 配置:
ESA 会提示你在 DNS 服务商(如 CF)处添加一条 CNAME 解析。
注意:在 CF 配置时,不要勾选小黄云(Proxy)。


六、配置 ESA 回源规则
为了让流量正确转发到你的内网服务,需配置回源规则。
进入 ESA -> 规则 -> 回源规则,点击 新增回源规则。

自定义规则:
主机名:包含刚才解析的域名(如 xxx.abc.com)。

回源协议与端口:根据你在 Lucky 中的设置进行选择。

七、测试与总结
完成以上设置后,访问 xxx.lucky.abc.com(替换为你实际的二级域名),如果能看到 Lucky 设置的默认文本输出,说明配置成功!
之后你只需在 Lucky 的反向代理中不断添加新的子规则,即可轻松访问内网的所有服务。
很多人被备案难住了,实际阿里或者腾讯注册域名,备案都很简单,备案好了之后,域名用起来好用的多。
附上一张网站测速图

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

木木骏
校验提示文案
木木骏
校验提示文案