摘要:很多人都有过类似的困扰:在公司服务器上部署了一个网站或内部系统,却不知道如何让外地的同事或合作伙伴访问;在家里的电脑上跑了一个小项目,临时想给别人看看效果,却发现对方连不上。过去的常见解决办法是端口转发或租用云服务器,但前者操作复杂且需要公网 IP,后者成本高
一、 场景说明:共享一个静态网站
很多人都有过类似的困扰:在公司服务器上部署了一个网站或内部系统,却不知道如何让外地的同事或合作伙伴访问;在家里的电脑上跑了一个小项目,临时想给别人看看效果,却发现对方连不上。过去的常见解决办法是端口转发或租用云服务器,但前者操作复杂且需要公网 IP,后者成本高、维护麻烦,不适合临时需求。
相比之下,飞网 的入口网关提供了更简单的方式,它能把局域网服务生成一个固定的网址,让其他人直接通过浏览器访问,权限和安全由系统自动处理,无需额外配置。
更重要的是,它对个人用户几乎是免费的——注册并登录后系统会自动创建个人网络,一个账号最多支持 10 台设备,足够日常使用。如果设备不够还可以申请增加,只有在企业、团队需要多人协作时才需要升级为团队网络。
举个例子,在家里的电脑上用 Nginx运行了一个小型网站,想让朋友在外地能访问。如下图,通过入口网关,朋友只需要访问一个飞网提供的网址,就能直接看到网站。
图中表示你的电脑运行 Nginx 服务,监听 80 端口,托管静态网页 index.html。该设备通过加密通道与入口网关节点连接,安全传输网页数据。入口网关节点作为中继,监听端口 443 、 8443 和 10000,生成公网 HTTPS 地址。朋友通过浏览器以 HTTPS (TLS) 协议访问此地址,请求先到达入口网关节点,再转发到你的设备。
相信你对这个过程已经有了初步了解,接下来,这篇文章会用大白话,带你从零了解飞网及飞网入口网关,演示如何利用飞网实现静态网站公网共享。
二、飞网是什么
飞网是一款提供网络安全与远程组网功能的工具,能让不同网络中的设备像在同一局域网内互相访问。它通过构建“虚拟网络”把设备连接起来,支持跨地域互通并提供加密保护。
飞网维护了很多个独立的“虚拟网络”(类似于多租户),不同的设备可以选择加入不同的“虚拟网络”。使用飞网需要安装飞网客户端程序,两个或多个安装了飞网客户端程序的设备之间,且在同一个”虚拟网络”内部时,可以根据访问控制策略的配置进行通信(默认可以互相访问)。
在了解了飞网的基础功能之后,我们再看看入口网关是怎么发挥作用的。
三、入口网关是什么
入口网关可以看作一个中转节点:它能把你在电脑上开的服务(比如用 Nginx 跑的网站)发布到互联网上。飞网 的入口网关功能会为你生成一个 HTTPS 地址,外部用户不用安装 安装飞网客户端程序,就能用浏览器访问。入口网关仅支持TLS协议的应用,并根据TLS协议中的SNI字段进行数据转发,数据全程加密,无需担心敏感信息泄露。
有了入口网关,我们就能更方便地将本地服务分享到公网,下面以共享一个静态网站为例,带你详细了解下如何实现静态网站公网共享。
四、配置步骤
4.1 配置前的准备
开始配置前,需要完成以下准备工作:
a. 安装飞网客户端
你需要在准备共享静态网站的电脑上装好飞网客户端程序,支持Windows、macOS、Linux 、Android等。
b. 注册或登录飞网账号
注册并登录飞网时,系统会自动为你的账号创建一个个人网络。
如果你首次 使用飞网IAM或 Email登录,需要先注册账号,或者你可以选用微信、支付宝登录。
登录后,飞网会给每台设备分配一个特殊IP地址(比如100.A.B.C),通过这个IP地址,就可以互相通信了。
c. 加入到飞网网络
登录成功后,你需要选择加入到个人网络或团队网络(团队网络需申请)。
具体安装、登录步骤参考 :https://blog.csdn.net/2401_83390557/article/details/149929636?spm=1001.2014.3001.5501
4.2 运行本地服务
在完成上述准备工作后,确保你的网页在本地运行,比如用 nginx 启动一个简单 HTTP 服务器,这里我以nginx的默认页面为例。
4.3 启用入口网关
完成本地服务运行后,就可以启用入口网关了。以下两种命令都可以启用飞网的入口网关。
1. 输入命令:gmzta in 80 ( 80 是我的本地服务端口,飞网客户端程序名是gmzta,可以使用“gmzta -h”查看更多的命令)。
如果你是第一次使用飞网的入口网关,以Windows为例,Win+R,输入cmd,打开命令提示符,输入此命令后,会弹出一个链接,将此链接复制到浏览器。
在浏览器访问到的页面中,需先启用HTTPS证书与访问控制策略中存在授予用户使用“入口网关”的策略,才能启用入口网关。
点击”确认开启”即可。
开启成功后,命令提示符会显示已经成功,并生成一个公网地址:https://testpc.gmn2833c.gmzta.net/。
在飞网控制面板的设备清单页面也可看到入口网关已经开启。
注意:此命令只在命令提示符开启时有效,关闭时入口网关也会关闭,只在前台运行,也可通过按Ctrl+C关闭入口网关。
2. 输入命令:gmzta in –bg 80
注意:此命令在命令提示符关闭后依旧有效,服务将在后台运行。
如果你想关闭入口网关,可输入命令:gmzta in –https=443 off
4.4 测试
把生成的公网地址(如 https://testpc.gmn2833c.gmzta.net/ )分享给需要访问的人,他们在浏览器中输入该地址,就能打开你本地运行的网站,而不需要安装飞网客户端。
五、补充事项
5.1 注意事项
DNS名称仅限于飞网的域名(device.team.gmzta.net)
入口网关仅限于侦听端口 443 、 8443 和 10000(默认为443)
入口网关仅适用于 TLS 加密连接
通过入口网关的流量受带宽限制
5.2 飞网的子命令
在命令行输入:gmzta -h,可以查看飞网的命令行工具的帮助信息。
命令的基本格式:gmzta [参数]
输入 gmzta in -h ,显示 in 子命令的详细帮助信息,在下方可以看到用到的入口网关命令。
通过以上步骤,你可以了解到飞网入口网关是如何实现静态网站公网共享。这种方式相较于传统方法,操作相对简单,且具有一定的安全性。
如果你对网络安全感兴趣,或者对本篇文章有任何疑问,欢迎在评论区和我交流!
来源:网络安全创新研究