无端口访问群晖:阿里云ECS+宝塔面板+Nginx,小成本真正实现无端口访问群晖

之前在网上看到很多无端口访问群晖的教程,有很多方法。尝试过几个后,觉得不太稳定。对于有些小企业或者工作室来说,可能更多的是需要稳定的开放自己的业务。以免流失客户。

首先,本文的前提是,“小成本”。注意关键词。不是免费。
其实,从成本角度考虑,你已经有了群晖,即便是黑裙,PC 和硬盘也是有成本的。宽带也是有成本的。相对于这些成本,本文所提到的小成本,一年也就 100 元左右。

本文用到的物料清单:
1,群晖 NAS(必须)
2,宽带(必须)
3,阿里云或其他公用云(必须)
4,Container Manager,DSM 7.2 之前叫 Docker(非必须)也可以是 Webstation 等其他 web 应用。当然如果实在是没啥应用,也可以是群晖的管理页面 DSM
5,宝塔面板(必须)

文本就以群晖的管理页面为例,一步一步将阿里云的公网地址,解析到群晖的 DSM 页面的默认端口 5001 上面。

一,准备阿里云 ECS 和域名
1,申请一个阿里云账号,并选购一款 ECS
99 元这个就够用了。我用着没啥问题。我们公司业务不太多,3M 的带宽,一般的办公应用和网站基本可以够用。

file
点击进入下一个页面中有很多配置,如果想省事,可以直接选带系统,安装好宝塔面板的配置。
file

补一张镜像选择中的截图,可以直接搜索“宝塔”。

file

基本都是免费,选一个自己喜欢的就行。

至此,付完款。进入阿里云控制台,就可以看到自己刚刚下单购买成功的 ECS 的信息。

file

2,购买域名
随便买一个。自己觉得能用就行。我们是公司使用,所以选了一个跟公司名称相关的域名。花了一些费用。这里的成本可高可低。由自己决定。

file

3,解析域名到 ECS
阿里云的云解析 DNS 菜单下,找到域名解析

file

添加一条 A 记录

file

A 记录将指向一个 IP 地址,这个 IP 地址可以是任意的 IP 地址。因为随着 DDNS 开始工作。IP 地址会跟着变化。

file

4,获取 accessid 和 accesskey

进入管理页面

file

创建 accesskey
file

保存下来。

完成后,阿里云端的所有操作就结束了。
到这里为止,还没有完成全部的工作,接下来还需要再群晖这边进行操作。

二,准备群晖的公网 DDNS
方法有很多种,我选用的是直接在 Container Manager 中安装 chenhw2/aliyun-ddns-cli。用了 6 年,目前还是比较稳定的运行。

容器中下载镜像,下载完成后,在映像中,找到下载完成的镜像。

file

运行镜像,开始建立 DDNS 容器。

file

下一步,配置阿里云的 accessid 和 accesskey。

file

下一步,完成配置,运行。

file

最后,还有路由器端口映射之类的操作就不详细介绍了。很简单。

至此,可以通过域名 + 端口的方式从外网访问到你的群晖 NAS 了。

三,准备宝塔面板的反向代理
通过远程连接阿里云上的宝塔面板,宝塔面板默认的端口是 8888,所以,阿里云公网 IP:8888 就是你的宝塔管理地址。如果你已经把域名解析到阿里云的公网 IP 主机上,那么可以直接域名 +8888 访问面板。

file

登录上来以后,界面如上图。

开始建立网站。

file

填写你之前在阿里云解析的 A 记录网址。

file
纯静态,不建立数据库
提交完成。

然后进行反向代理配置。添加反向代理

file

在目标 URL 中,填写之前可以通过域名 + 端口号访问到的群晖的应用 URL。例如,我的应用是 http://nas2.concrete-global.com。就填写这个地址
发送域名,填写宝塔面板中你创建的网站地址,例如,我的网站是 nav.concrete-global.com.
file

完成。是否需要缓存取决于你的网站需要。如果你的网站有图片或者静态资源,做个缓存也是很好的。
这一步完成后,还有最后一步。

四,返回阿里云的域名解析

返回阿里云的域名解析,添加宝塔面板的网站域名。解析到阿里云的公网 IP 地址上。操作和之前的群晖 NAS 的 DDNS 操作类似。就不在赘述。

目前,我在宝塔上做了 9 个网站,既有反向代理的,也有静态的。看起来一切还是很正常的。希望对大家有所帮助。

发表评论