HELLO NAS BLOG

『NAS』我把 NAS 的所有 Docker 服务都挂到了自己的域名下,外网可访问了

有些品牌的 NAS,在使用 Docker 部署了一些项目后,只能在局域网访问,有些品牌虽然能在外网访问,但官方提供的地址经常变来变去,而且只能自己访问,别人无法直接访问。

点赞 + 关注 + 收藏 = 学会了

💡整理了一个 NAS 专属玩法专栏,感兴趣的工友可以戳这里关注 👉 《NAS邪修》

有些品牌的 NAS,在使用 Docker 部署了一些项目后,只能在局域网访问,有些品牌虽然能在外网访问,但官方提供的地址经常变来变去,而且只能自己访问,别人无法直接访问。

本次以绿联 NAS 为例演示,其他品牌 NAS 的操作步骤基本一致。

跟着做就能让你在 Docker 部署的应用实现“外网穿透”。

开始之前需要准备:

  • 一个 Cloudflare 账号(https://dash.cloudflare.com/)
  • 一个托管到 Cloudflare 的域名
  • 一台支持 Docker 的 NAS(绿联、群晖、威联通均可)

**如果没有域名,想用免费稳定的可以参考这个方法 👉 《免费域名,虽然长得有点丑,但免费!》**

按照这篇文章的方法注册好域名并绑定到 Cloudflare 上。

我有一个域名(https://leihou.dpdns.org)已经免费用了一年多了,非常稳定。

01

本文用 doai.dpdns.org 这个域名演示。

在浏览器 打开Cloudflare(https://dash.cloudflare.com/),登录后,在左侧面板找到“Zero Trust”,点击它。

02

进入“Zero Trust”页面后,点击左侧面板的“网络 - 连接器”,然后点击“添加隧道”按钮。

03

然后选择创建隧道的类型,选择“Cloudflared”,也就是左边那个。

04

给这个隧道创建一个名字。建议跟着你的域名来创建,比较好记。

然后点击“保存隧道”按钮。

05

在隧道的配置界面,“选择设备的操作系统”这里选择 Docker,然后下方会给出 docker 相关的命令。

这句命令的 --token 后面跟着的这段很重要,不要泄露出去。

此时的“连接器”还没检测到你的 NAS,可以看到最下方的那个框里提示“未安装连接器”。

06

Cloudflared 这边先停留在隧道的配置界面,接下来打开绿联 NAS 的「文件管理」应用,找到 docker 文件夹,在其中新建 cloudflared 文件夹。

07

打开「Docker」应用,切换到 “项目” 面板点击“创建”,按以下信息填写:

  • 项目名称:cloudflared
  • 存放路径:选择上一步创建的 /docker/cloudflared

08

Compose配置如下:

services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflared
    restart: unless-stopped
    network_mode: host
    command: tunnel --no-autoupdate run --token 将你的token粘贴在这里

上面的这段 Compose 配置,最后的 --token 后面要跟上你在 Cloudflare 隧道配置里的 Token 值。

然后点击“立即部署”。

09

项目构建成功后,回到浏览器这边,刚刚 Cloudflare 的隧道配置界面,就能看到连接器已经成功检测到了。

点击“下一步”。

10

接下来配置隧道的路由流量。

  • 主机名:

    • 子域名:建议输入你在 Docker 里部署的应用名,先填1个,后面可以继续添加的。

    • 域:选择你的域名。

    • 路径:在本文的这种示例里,不建议填路径。

  • 服务:

    • 类型:根据你在 NAS 里的 Docker 里部署的应用来决定,我的应用在内网访问,通常是选 HTTP 的方式来部署。比如我的「pansou」这个应用在内网访问是 http://192.168.31.202:3306
    • URL:输入你要外网访问的应用的 IP+端口,比如 192.168.31.202:3306

11

我这么配置是有理由的。

一台 NAS 就绑定一个「域名」,NAS 里通过 Docker 部署的多个应用,分别配置不同的「子域名」。

比如我给「pansou」这个应用配置完,在浏览器访问 pansou.doai.dpdns.org 就能访问这个项目。

如果是通过「路径」的方式来配置,那就变成 doai.dpdns.org/pansou ,这样也不是不行,但如果你部署了多个应用,有可能应用和应用之间的路径会冲突。

所以如果多个应用共用一个域名,通过「子域名」的方式来区分的话是较好的选择。

部署完,点击“完成设置”,然后在浏览器访问 https://pansou.doai.dpdns.org/ 就能打开你刚刚关联的应用了。

12

如果要在同一个域名里添加多个应用可以这么做。

配置的位置:

Cloudflare -> Zero Trust -> 网络 -> 连接器 - 选择隧道名 -> 已发布应用程序路由 -> 添加已发布应用程序路由

选择隧道。

13

找到“已发布应用程序路由”,点击“添加已发布应用程序路由”。

14

接下来就是熟悉的界面了,按照前面的步骤添加新应用即可。

15

如果要删掉域名下已发布的应用,找到对应的应用,在菜单项选择删除即可。

16

要删除连接器也是很简单,找到要删除的连接器,在菜单里选择“删除”即可。

17


以上就是本文的全部内容啦,你有好玩的镜像推荐吗?欢迎在评论区留言讨论!

想了解更多NAS玩法记得关注《NAS邪修》👏

往期推荐:

点赞 + 关注 + 收藏 = 学会了

继续看看其他折腾记录

更多 NAS、家庭服务器和工具分享都在博客列表。

返回博客