收起左侧

飞牛Docker部署ZeroNews:企业级内网穿透(安全、可控、可治理)

0
回复
140
查看
[ 复制链接 ]

92

主题

330

回帖

665

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章fnOS1.0上线纪念勋章飞牛百度网盘玩家

最近在帮人同事搞项目,遇到一个很烦人的问题,没有公网环境,API根本没法让别人远程调用,自己的域名不想给对方使用,试过传统穿透工具吧,访问端还得装客户端,用户使用起来也麻烦,每次使用都得打开软件,客户也很头疼,想想就能想到对方的表情。

然后就发现了ZeroNews内网穿透工具,免费映射两条域名而且还是https协议的,给对方调用一下api完全没问题,或者演示一下项目,也不会暴露自己的域名。

免费流量和花生壳一样都是一个月1GB的流量,如果你就用来对接项目调用API基本够用,不适合NAS备份照片等场景适用,除非你订阅会员。

我用下来最大的感受就是:

简单高效,不像传统穿透“全开式”,控制细到每个路由、API、IP、用户名密码都能管, 速度稳定、传输通道高性能,路由和 API精细控制,几乎覆盖我所有场景。

先来教大家怎么部署安装,具体介绍安装后再说,支持在 Windows、macOS、Linux、Docker 等多种设备或系统上快速启动运行

账号注册

1️⃣ 先去零讯官网注册自己的账号

https://user.zeronews.cc/login

2️⃣登录 ZeroNews之后,在 "Token" 页面中复制一个 Token 备用。

Windows 安装

通常来说,最省事的办法就是,在Windows系统上把本地项目部署好,直接让对方来访问测试。

1️⃣先去官网下载Windows安装包

https://zeronews.cc/download

2️⃣下载安装后把文件放到合适的位置,鼠标选中 zeronews.exe 单击右键以管理员身份运行 zeronews 程序,进入 Windows Dos命令行窗口

3️⃣ 绑定Agent Token,YOUR_TOEKN替换成你前面复制的token,输入后回车

zeronews.exe set token YOUR_TOEKN

4️⃣启动Agent,他支持前台运行和后台运行两种

前台,只能在前台运行,当 Dos 窗口关闭时,程序会退出。

zeronews.exe start

后台,后台运行模式:实现 zeronews开机自启动,并保持程序在后台运行,请使用上述命令

zeronews.exe start -d

飞牛 Docker部署

1️⃣ 我们需要先创建一个文件夹路径,这个文件夹储存我们的docker-Compose.yml的文件和配置文件

2️⃣ 桌面打开Docker,点击侧栏 Compose -> 新增项目 -> 输入项目名称 -> 设置路径选择前面第1️⃣步创建的文件夹->创建docker-compose.yml把下面代码复制进去,点击完成 直至构建完成

🐳Docker compose 部署代码

将上面的复制的token填入到下面部署的代码中

services:  
  zeronews:  
    restart: always  
    image: docker.zeronews.cc/zeronews/zeronews:latest  
    container_name: zeronews  
    hostname: zeronews  
    network_mode: host  
    volumes:  
      - ./opt/zeronews:/etc/zeronews  
    environment:  
      - TZ=Asia/Shanghai  
      - TOKEN=xxxxx #替换成你的token

部署之后在后台就能看到当前Windows和NAS的信息在线了

简单映射使用

1️⃣ 看到设备在线之后,就可以去配置一个自己喜欢的域名

2️⃣设置一个自己喜欢的域名前缀,免费版可以添加两个域名

3️⃣映射端口,映射要通过刚刚创建的域名访问的项目地址,如NAS、lucky、op、迅雷等等

先选择最开始的设备,然后选择协议类型,分配一下宽带(免费版总共2MBps宽带,如果你要搞俩项目就分配1MBps),填入要映射的内网和端口确认就行了。

此时我们就可以在外网通过域名进行访问了, 不需要 在要访问的客户端安装应用,可以直接访问你的项目和API,直接调用

如果你做了一个项目只给指定人使用怎么做限制呢?

在回到我们映射的地方,有个高级设置按钮,里面可以控制IP访问、鉴权认证(使用账号密码访问)、请求标头、响应标头等高级功能(需要订阅)

1️⃣ ip访问控制

生效模式: 黑白名单,这个大家肯定都懂,ip填进去,不在规则内的ip无法访问,是不是很简单高效,就和防火墙一样, 添加 一个
IP合集就行

我们只需要按照要求填进就行(IP一般是公网ip,在百度搜索ip俩字就能查询到ip)

2️⃣ 鉴权认证

也是我最喜欢的一种模式,直接通过账号密码访问,都不需要再前端开发密码策略了,zeronews直接帮我 们完成了,我们只需添加用户名和密码即可

按照要求添加用户名和密码即可,这里添加后再返回选择用户保存

访问一下试试看(这个弹窗在美化一下就更好了,看着像是nginx的),对方输入密码就可以安全访问了

当然还有请求标头和响应标头的方式,可以触发不同的匹配条件,响应标头支持跨域资源共享 (CORS) 设置、缓存控制、内容安全策略 (CSP)等,因为我没有类似项目不好实践,不做演示,自己研究一下

当然如果你有自己的域名想要跑一些服务,或者客户不想买服务器,项目在本地部署,也可以使用自有域名,域名要备案,提交后官方是要审核的。

审核通过后,就可以去域名服务商那边添加CNAME记录了,按照官方教学配置证书就行了

对于有项目测试需要域名调用API的参数的可以使用免费的版本1g流量用用看也基本够用,免费版有https协议还是很不错的

收藏
送赞
分享
公众号:知新坊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则