收起左侧

巧用阿里ESA,外网V4访问NAS,隐藏端口号,个人导航页全搞定

8
回复
205
查看
[ 复制链接 ]

0

主题

2

回帖

0

牛值

江湖小虾

前言

闲来无事折腾NAS也有一段时间了,从海鲜市场捡垃圾开始,到安装FN,部署Docker,然后研究远程访问,和购买域名。最近结合阿里免费送到2050年的ESA边缘加速,总算基本完成了阶段性的成果。

通过本文能够实现:

  1. 外网(V4/V6)访问家里的NAS
  2. 使用自己的域名免端口号访问
  3. CDN加速访问和安全防护
  4. 利用ESA Pages/函数快速部署个人导航页面(AI写代码)

第一步:开通免费的阿里ESA

关于阿里ESA

阿里提供了免费的边缘安全加速ESA服务,免费版目前能通过利用续费规则,续期到2050年,并且官方承诺套餐到期前保证使用。

目前仍然能注册和续期,不知道什么时候失效,先注册再说。(ESA除了用于访问加速NAS,也可以用于个人网站/博客等。相比于CloudFlare,优势在于国内节点加速,访问速度快。)

免费套餐领取步骤

免费套餐领取链接:↓

https://tianchi.aliyun.com/specials/promotion/freetier/esa?taskCode=25254&recordId=c1297096493fd050421e64554866ea5e

点击右侧“立即使用”,选择“免费版”,

image.png

0元续费到2050年

选择1年,0元订购之后进入“套餐管理”

点击“续费”-> “设置续费规则”

在续费页面继续选择1年,价格显示为0元

提交续费订单,套餐成功增加1年

重复如上步骤,最多可续费到2050年


第二步:开通NAS的IPV6并设置DDNS

论坛中已经有详细教程帖子,直接参考:

飞牛自带DDNS

https://club.fnnas.com/forum.php?mod=viewthread&tid=1974

Lucky DDNS + 反代

https://club.fnnas.com/forum.php?mod=viewthread&tid=46700


第三步:设置ESA回源,实现隐藏端口和域名免端口访问

做完第二步,你已经可以通过你的域名直接访问你的NAS了,如果你用了Lucky,也可以实现使用子域名(如xulei.yourdomain.com:2345)直接访问对应服务。

但是会碰到如下问题:

  • 访问是HTTP,不是安全链接(可以手动申请证书或lucky自动申请解决)
  • 大部分外网无IPV6,IPV4环境下无法访问
  • 如果幸运有IPV6,子域名后还需要加上端口号访问

而使用ESA则能帮助解决以上问题,ESA回源本质上是帮助你通过ESA访问你的NAS,ESA就像是中间的桥梁。这么做有两个好处,第一是,当你通过ESA时,它能通过它的IPV6访问你的NAS,并且将NAS的内容通过IPV4传输给你,因此你在所有网络下都能访问NAS;第二是,它作为中间桥梁,帮你隐藏了NAS的真正地址和端口号,进一步确保安全。

在ESA中添加站点

ESA只支持顶级域名,免费的二级域名是不支持的。

注意在添加站点时只能输入根域名(比如yourdomain.com),这只是添加时候的限制,在添加完后,后续添加回源规则是可以添加子域名作为访问域名的(比如nas.youdomain.com访问nas,xunlei.yourdomain.com访问迅雷)。

选择加速区域,如果域名已经备案,选择中国内地,否则选择全球(不包含中国内地),接入方式建议选择CNAME。

image.png

选中你前面领取的免费套餐

下一步需要验证域名归属权,到域名托管DNS服务商处,按照要求添加一条TXT解析,添加完成后回来本页面“点击验证”。到这里就完成了第一步站点添加了。

image.png

在ESA中添加回源规则

添加完成后,进入“站点管理”,选择你刚刚添加的站点,在左侧菜单选择“规则->回源规则”,选择“新增规则”

在规则中填入:

规则名称:随意填写,比如我这里填写“nas”

规则内容 -> 自定义规则:主机名等于其中一个,填写你希望加速后用于访问的网址(不是飞牛DDNS的域名),比如nasesa.yourdomain.com

则执行 -> 回源host:填写第二步中绑定飞牛的DDNS网址,比如nas.yourdomain.com,这里不用带端口,只填网址就好

则执行 -> 回源协议和端口:填写飞牛端口,HTTP 5666,HTTPS 5667

其他则无需配置,确定。一条回源规则就添加好了。如果需要其他规则同理再添加即可。

这里的回源规则的大致意思就是:

如果收到用户访问“nasesa.yourdomain.com”,则阿里ESA会将该访问请求通过HTTPS回源转到访问设置的host+端口号,即“nas.yourdomain.com:5667”,而且用户看不到回源后的源地址,这样不会暴露端口和HTTP不安全的IPV6外网源地址。

image.png

image.png

在ESA和域名DNS服务商两处都添加DNS解析记录

设置好了回源规则,你还需要将用户访问的域名“带向”阿里ESA,这样阿里ESA才能接收到并回源。这里就需要添加DNS CNAME解析了。

这里需要在两个地方添加DNS解析

第一处还是在阿里ESA的站点管理中,点击左边“DNS -> 记录 ->添加记录”,

记录类型:选择“CNAME”

主机记录:填写你希望访问的加速后的域名,比如“nasesa”,后缀默认已经是你的站点域名

记录值/源站:选择“域名”

域名:填写你飞牛绑定的DDNS域名,比如“nas.yourdomain.com”

其他保持默认,下一步

选择第一个“网站页面”,选中完成。这时会显示记录nasesa.yourdomain.com已经添加成功。接下来我们还要在第二处,你的域名托管DNS服务商处,增加一条CNAME解析记录

image.png

image.png

第二处去到你的域名托管DNS服务商,比如我的是在阿里云,按照上一步提示记录值要求新增一条CNAME解析即可。

image.png

到这里,回源规则和解析都设置完成,还需要最后一步。

HTTPS证书申请及开启IPV6支持

点击左侧菜单“SSL/TLS -> 边缘证书”,开启SSL/TLS,在“证书管理”中选中“申请免费证书”

证书颁发机构选中免费的“Let's Encrypt”,证书域名选中你自己添加的加速域名,比如nasesa.yourdomain.com,如果有多个加速域名就都填写进去,点击确定。状态变为申请中,证书申请需要几分钟,放着不用管它。

开启“强制HTTPS”

image.png

然后去开启IPV6支持,在左侧菜单选择“速度和网络 -> 优化”,选择“网络优化”,点击IPV6“配置”,开启,区域选中全球,确定即可。

到这里,ESA加速的设置就全部完成了,等到HTTPS边缘证书中申请成功,就可以实现输入加速后的域名,访问NAS了。

此时你可能会发现访问的速度比较慢,那是因为一开始站点加速区域没有包含中国大陆。

强烈建议大家把域名备案,可以在阿里云注册一个6位数字的.xyz域名,75块钱10年。然后可以去海鲜市场淘一个阿里授权码,10多块钱,直接在阿里云提交备案即可。备案后就可以选择中国大陆的加速服务。访问速度对比如下:

image.png

全球加速(域名未备案)

image.png


最后:利用“函数和Pages”部署个人导航页

在使用ESA加速时,发现阿里边缘计算也提供了“函数和Pages”,快速尝试了一下部署一个个人导航页面

在“边缘安全加速ESA”页面中,点击左侧“函数和Pages”,选择“创建”,选择“函数模板 -> Hello World”。当然你也可以根据自己需求选择自己想要的函数或Pages,同样支持从Github导入项目。

点击下一步,先保留默认的代码,直接提交。这样一个简单的页面就部署好了。

image.png

当然,我们想要的是一个个人导航页面,所以我们要修改代码。不会代码?没事,我也不会,阿里ESA函数和Pages提供了AI编码助手,直接用自然语言告诉它需求就可以。

点击刚刚创建的函数,然后选中“代码”,在左侧的AI编码助手中输入你的需求提示词,比如:

使用JavaScript语言,编写一个个人导航网站的代码,需要包含部署于阿里云边缘计算函数使用的代码。网站标题为“个人导航页”,设置一个爱心作为网站的favicon图标。网站要求风格简洁,偏向IOS风格。 网页中包含一个百度搜索框。导航网站分为两类,分别为“影音媒体”和“图书资源”,默认状态下这两个类别中的网站为折叠或隐藏,点击具体类别后展开或显示具体网站。网页中使用的图标使用Emoji图标,导航的网站在代码中尽量集中,便于后续修改或增减。在页面底部增加内容“Designed by吴彦祖 | Powered by ESA"。页面内容居中显示,适配移动端设备访问。

image.png

等待AI编码助手生成代码后,直接复制粘贴到中间替换掉原来的代码,选择“保存 -> 快速发布”,然后你就可以访问看到效果了。对于具体的链接,自己去代码中修改就好了,很容易找到。

image.png

然后可以在该函数中,绑定自己的域名。选择“域名 -> 添加域名”,添加自己希望的域名。注意添加完成后,还需要在站点管理,DNS记录中找到刚刚绑定域名的记录,复制记录值,去域名托管DNS服务商处添加一条CNAME记录即可,注意这个域名也去边缘证书中一同申请HTTPS证书。参考上面的步骤大同小异。

好了,你现在还拥有了一个个人导航页面。


业余折腾,如果有错误,或者有更好的建议,也欢迎指正。

收藏
送赞 2
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1

查看全部评分

6

主题

55

回帖

0

牛值

初出茅庐

小白弱弱的问一下,有IPV6直连了,再弄DDNS,是不是出于安全的考虑?

你是直接用一长串的IPV6地址来访问吗? DDNS主要是用域名来好记,另外IPV6地址会变,DDNS能确保动态更新解析最新的IPV6地址  详情 回复
3 小时前

2

主题

48

回帖

0

牛值

初出茅庐

学习了

0

主题

8

回帖

0

牛值

江湖小虾

收藏了,有空研究

4

主题

348

回帖

0

牛值

小有名气

fnOS1.0上线纪念勋章

哎,不备案这个速度真是,赶上cf了都

没有大陆节点速度是慢的,等备案通过后换到大陆节点再测一下速度反馈  详情 回复
3 小时前
苟利国家生死以,岂因祸福避趋之

0

主题

2

回帖

0

牛值

江湖小虾

3 小时前 楼主 显示全部楼层
mimiwuqi 发表于 2025-12-30 08:36
小白弱弱的问一下,有IPV6直连了,再弄DDNS,是不是出于安全的考虑?

你是直接用一长串的IPV6地址来访问吗?
DDNS主要是用域名来好记,另外IPV6地址会变,DDNS能确保动态更新解析最新的IPV6地址
哦,我以为不会变呢。因为我这刚用了半个多月的IPV6,中间调什么还重启过光猫,但发现地址一直是这个,我以为不像IPV4,过段时间就自己变了。  详情 回复
2 小时前

0

主题

2

回帖

0

牛值

江湖小虾

3 小时前 楼主 显示全部楼层
linlin9 发表于 2025-12-30 09:32
哎,不备案这个速度真是,赶上cf了都

没有大陆节点速度是慢的,等备案通过后换到大陆节点再测一下速度反馈

6

主题

55

回帖

0

牛值

初出茅庐

nanny 发表于 2025-12-30 09:33
你是直接用一长串的IPV6地址来访问吗?
DDNS主要是用域名来好记,另外IPV6地址会变,DDNS能确保动态更新 ...

哦,我以为不会变呢。因为我这刚用了半个多月的IPV6,中间调什么还重启过光猫,但发现地址一直是这个,我以为不像IPV4,过段时间就自己变了。

1

主题

15

回帖

0

牛值

江湖小虾

这个方法好啊。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则