入口网关
1 关于入口网关
对于需要直接暴露在飞网外部的应用系统(如企业的官方网站,互联网邮箱),可以选择使用飞网的“入口网关”功能,外部用户的访问请求通过入口网关进入飞网网络。入口网关仅支持TLS协议的应用,并根据TLS协议中的SNI字段进行数据转发,该过程全程加密,您无需担心敏感信息泄露。
如果只是想与飞网中的其他设备共享服务,请使用飞网本地服务的功能。
2 开启入口网关
默认情况下,飞网的入口网关功能处于关闭状态,需要先启用HTTPS证书与访问控制策略中存在授予用户使用“入口网关”的策略,才能启用入口网关。
如果未在飞网中启用HTTPS证书,则使用CLI命令gmzta in <要暴露的本地端口地址>
后,会提供Web界面,让您启用HTTPS,入口网关访问控制策略。
授予所有用户使用入口网关的访问控制策略:
"nodeAttrs": [
{
"target": [
"autogroup:members"
],
"attr": [
"in"
]
}
],
3 运行入口网关
使用gmzta in
可以让您将本地目录、文件、纯文本或者本地端口在互联网中共享。
示例
gmzta in 3000
//将本机的3000端口的服务共享到互联网上
运行gmzta in -h
查看更多示例,了解更多可查看in 命令的使用方法。
执行运行入口网关的命令后,命令提示符会显示可用于访问服务的URL。
$ gmzta in 3000
在互联网中访问:
https://device.team.gmzta.net/
|-- proxy http://127.0.0.1:3000
按“Ctrl+C”退出。
4 局限性
- DNS名称仅限于飞网的域名(device.team.gmzta.net)
- 入口网关仅限于侦听端口 443 、 8443 和 10000(默认为443)
- 入口网关仅适用于 TLS 加密连接
- 通过入口网关的流量受带宽限制
5 使用入口网关的示例
5.1 共享简单的文本服务器
在此示例中,我们将介绍如何使用 gmzta in
命令简单的文件服务器。使用 入口网关作为文件服务器通常比通过第三方服务传输效率高很多。
在Linux操作系统中,您可以重新开始创建文件,也可以使用本地现有的文件。
$ mkdir /test/public
$ echo "你好飞网" > /test/public/aa.txt
$ echo "gmzta" > /test/public/bb.txt
然后将这些文件通过入口网关共享到互联网。
$ sudo gmzta in /test/public
在飞网网络中访问:
https://device.team.gmzta.net/
|-- path /test/public
按“Ctrl+C”退出。
在 Windows 上,以管理员的形式打开命令提示符,并运行以下命令。
c:\testUsers\> gmzta in c:\test\public
gmzta in /tmp/public
在互联网上访问用:
https://device.team.gmzta.net/
|-- path /tmp/public
在Linux操作系统上,我们通常使用curl
命令确认网址是否正常工作。
curl -L https://device.team.gmzta.net/
<pre>
<a href="aa.txt">aa.txt</a>
<a href="bb.txt">bb.txt</a>
</pre>
4.2 共享一个静态网站
此示例演示如何在互联网上共享静态 HTML 网站。
- 首先编写一个简单的HTML静态网站。
/test/static/index.html
<html>
<head>
<title>你好 飞网!!</title>
</head>
<body>
<h1>你好 飞网!!</h1>
</body>
</html>
- 将静态网站在互联网发布。
sudo gmzta in /test/static
- 在浏览器上打开其URL即可查看该静态网页。
4.3 共享服务
假设你有一个运行在端口3000上的本地HTTP服务器,你可以使用 入口网关
通过HTTPS将本地服务器暴露给互联网:
sudo gmzta in 3000
sudo gmzta in 3000
在互联网中中访问:
https://device.team.gmzta.net/
|-- proxy http://127.0.0.1:3000
按“Ctrl+C”退出。