飞网Nginx认证连接器
2025年4月4日大约 9 分钟
—— 5分钟快速接入飞网认证服务
🌟 1.什么是飞网 Nginx 认证连接器?
飞网 Nginx 认证连接器为企业现有的 NGINX 架构提供 无密码、零信任、高安全性 的身份验证集成,助力您的业务系统,安全访问从此不再复杂,帮助企业快速实现:
- ✅ 一键安全暴露业务系统
- ✅ 用户无感知登录体验
- ✅ 彻底摆脱传统身份认证的复杂性与风险
- ✅ 无密码、⛓ 零信任、⚙️零维护 ——
🏢 办公网系统接入
- 替代内网堡垒机与传统 VPN
- 远程接入内网系统如 ERP、OA
- 无需账号密码登录,身份自动注入
🔒 零信任访问控制
- 动态身份认证+访问策略控制
- 敏感资源按身份精准授权
- 无凭据存储,降低数据泄露风险
🧑💻 开发测试环境接入
- 保护研发测试环境不被随意访问
- 统一身份接入,简化权限管理
- 提升运维效率,降低人为配置风险
📦 第三方服务集成
- 无需对接多套认证系统
- 统一飞网身份注入即可使用服务
- 适用于 SaaS、API 等多种类型服务
💎 2.接入飞网的五大优势
🟢 无密码认证,丝滑体验
- 无需账号密码,在网络层完成认证
- 登录过程全自动,防钓鱼、防暴力破解
- 身份注入透明无感,用户体验极致流畅
🛡️ 身份注入,安全可信
- Header 注入用户身份
- 不依赖 Session/Cookie/JWT,开发更简单
- 强防伪、防篡改,满足金融级安全需求
🧩 极简接入,快速上线
- 极少量改造即可接入,无需修改复杂的业务代码
- 兼容 NGINX 架构,快速适配现有系统
- 轻松完成企业级应用的快速部署
🔒 零信任防护
- 全链路加密
- 加密隧道+动态身份,杜绝未授权访问
- 不在客户端存储凭据,降低泄露风险
⚙️ 运维开发双提升
- 免开发认证模块,专注业务逻辑
- 多系统统一身份验证,集中管理更高效
- 简化 NGINX 配置,运维压力显著降低
🔍 3.飞网接入模式 vs 传统接入模式 对比分析
此图分析了传统的应用接入方式与飞网接入方式在架构、安全性和用户体验上的核心差异。
传统接入 vs 飞网接入 结构对比图
3.1传统模式:先网络连接,后应用认证
🔁 接入流程
- 攻击者或任何终端可直接访问公网暴露的 Nginx 网关。
- Nginx 将请求转发至后端业务系统(例如传统业务系统)。
- 应用层完成登录认证后放行访问。
❗ 存在的问题
- 前端 Nginx 暴露在公网,容易被扫描、攻击。
- 攻击者可尝试暴力破解、扫描接口、发起拒绝服务攻击(DDoS)。
- 网络层没有任何访问控制,防御重心全部依赖于应用层逻辑。
- 一旦认证绕过或存在漏洞,后端系统将面临直接威胁。
3.2飞网模式:先身份认证,后网络连接
✅ 接入流程
- 用户终端需安装飞网客户端,完成飞网身份认证。
- 成功认证后,终端通过飞网加密隧道连接飞网 Nginx 认证连接器。
- 连接器将用户身份(如账号信息)注入 HTTP 请求头,转发给后端 Nginx。
- 后端业务系统根据注入的身份信息进行业务处理,无需额外登录验证。
🔐 安全优势
- 网络访问前即需完成身份认证,攻击者根本无法连入网络。
- 飞网网络为封闭加密网络,外部终端不可发现服务地址。
- 所有数据通道经过加密,防监听、防篡改、防劫持。
- 连接器自动注入身份信息,简化权限判断逻辑。
- 即使连接器被暴露或被代理使用,未授权终端依然无法伪造身份。
3.3总结对比
对比项 | 传统模式 | 飞网接入模式 |
---|---|---|
网络连接策略 | 先连接网络 → 后认证 | 先认证身份 → 后连接网络 |
服务是否暴露公网 | 是 | 否 |
攻击面 | Nginx 网关,业务系统 | 飞网连接器(需授权方能连入) |
身份控制位置 | 应用层认证逻辑 | 网络接入前已完成身份控制 |
安全性 | 风险大,依赖应用自身防御 | 高,接入前强身份隔离 |
用户体验 | 登录表单认证 | 无需登录,身份自动注入 |
✅ 飞网模式通过“网络即身份”的理念,实现“看不见、连不上、打不穿”的访问控制体系,有效解决传统暴露服务面广、安全风险高的难题。
🚀 4.飞网 Nginx 认证连接器使用指南
4.1 体验飞网 Nginx 认证服务
在接入飞网测试团队网络之前,访问飞网单点登录演示项目(地址如下):
https://demo2.demonet.gmzta.net/
此时由于尚未接入体验网络,访问将会失败,页面显示如下所示的认证失败信息:

飞网nginx网络认证演示网址

认证失败
注册飞网账号,并成功接入测试团队网络后,页面访问状态会发生变化,进入认证成功界面。如下图所示:

加入体验网络

飞网 Nginx 认证服务测试
4.2 安装飞网 Nginx 认证连接器
4.2.1 下载飞网 Nginx 认证连接器安装包。
注:需要在安装飞网后使用
根据您的操作系统类型和CPU架构选择并安装飞网 Nginx 认证连接程序文件:
🐧 Debian / Ubuntu 系统
wget -N https://pkgs.gmzta.com/deb/gmzta-nginx-connector-amd64.deb
sudo apt install ./gmzta-nginx-connector-amd64.deb
🧱 Red Hat / CentOS 系统
wget -N https://pkgs.gmzta.com/rpm/gmzta-nginx-connector-amd64.rpm
sudo yum install ./gmzta-nginx-connector-amd64.rpm
4.2.2. 配置Nginx,开启无密码身份验证
注:若未安装Nginx,请自行安装Nginx。
编辑Nginx配置文件,添加以下内容:
需自行配置后端应用地址
server {
listen 80;
server_name 127.0.0.1; # 监听本地地址
error_log /var/log/nginx/error.log debug;
access_log /var/log/nginx/access.log;
# 认证请求转发到 socket 服务
location = /auth {
internal;
proxy_pass http://unix:/var/run/gmzta-nginx-connector.sock;
proxy_pass_request_body off;
proxy_set_header Host $http_host;
proxy_set_header Remote-Addr $remote_addr;
proxy_set_header Remote-Port $remote_port;
proxy_set_header Original-URI $request_uri;
proxy_hide_header Content-Type;
add_header Content-Type 'text/plain';
limit_except GET HEAD {
deny all;
}
}
# 错误页:认证失败时跳转到 401 页面
error_page 401 /401.html;
# 配置 401 页面
location = /401.html {
root /usr/share/nginx/html;
internal; # 防止用户直接访问 401 页面
}
location / {
auth_request /auth;
auth_request_set $auth_user $upstream_http_gmzta_user;
auth_request_set $auth_name $upstream_http_gmzta_name;
auth_request_set $auth_login $upstream_http_gmzta_login;
auth_request_set $auth_gmztanet $upstream_http_gmzta_gmztanet;
auth_request_set $auth_profile_picture $upstream_http_gmzta_profile_picture;
proxy_set_header X-Webauth-GmztaUser "$auth_user";
proxy_set_header X-Webauth-GmztaName "$auth_name";
proxy_set_header X-Webauth-GmztaLogin "$auth_login";
proxy_set_header X-Webauth-GmztaNet "$auth_gmztanet";
proxy_set_header X-Webauth-Gmzta-Profile-Picture "$auth_profile_picture";
proxy_pass http://localhost:3002; # 转发到后端应用
# 展示 nginx 默认页面
# root /usr/share/nginx/html;
# index index.html;
# 让 nginx 直接处理请求而不是转发
# try_files $uri $uri/ =404;
# default_type text/html; -->
}
}
- 上述配置使用了Nginx的一个特性:基于子请求结果的身份认证。Nginx和Nginx Plus可以通过外部服务器或外部服务对网站的每个请求进行身份验证。为了执行身份验证,NGINX向外部服务器发出一个HTTP子请求,并在那里对该子请求进行身份验证。如果子请求返回一个2xx响应代码,表示身份验证成功则允许继续访问;如果子请求返回401或者403,表示身份验证失败则拒绝访问。这种类型的身份验证可以实现各种身份验证方案,例如多因素身份验证,或者实现LDAP或OAuth身份验证。
- 更多资料访问
4.2.3重启nginx服务。
nginx -s reload
4.2.4开启飞网nginx 认证连接器
// 开启服务
systemctl start gmzta.nginx-connector.socket
systemctl start gmzta.nginx-connector.service
// 配置开机自启
systemctl enable gmzta.nginx-connector.socket
systemctl enable gmzta.nginx-connector.service
4.3 docker 安装飞网 Nginx 认证连接器
4.3.1 准备nginx配置文件
4.3.2 拉取镜像
docker pull registry.cn-beijing.aliyuncs.com/gmzta/gmzta-nginx-connector:latest
4.3.2 启动容器
docker run -d \
--name gmzta-nginx-connector \
--hostname gmzta-nginx-connector \
-p 80:80 \
-e GM_TOKEN=gmzta-authkey-1234567890abcd \
-e GM_CONFIG_DIR=/var/lib/gmzta \
-e GM_TUN=false \
-v $(pwd)/gmzta/conf:/var/lib/gmzta \
-v $(pwd)/default.conf:/etc/nginx/conf.d/default.conf \
--restart unless-stopped \
registry.cn-beijing.aliyuncs.com/gmzta/gmzta-nginx-connector:latest