使用入口网关服务
2026/4/21小于 1 分钟
使用入口网关服务
该示例使用 Gvisor 用户空间网络模式配置入口网关服务,通过 GM_IN 将同一 Docker 网络内的 Nginx 服务发布到入口网关。飞网控制面板需要开启域名证书功能,并给该设备授权入口网关能力。
使用前请先在同目录准备 .env 文件,并填写飞网控制面板创建的授权密钥:
GM_TOKEN=gmzta-authkey-xxxxGvisor 模式启动:
docker compose -f 04-gvisor-in.yaml up -dTUN 模式启动:
docker compose -f 04-tun-in.yaml up -d注意:
- 飞网控制面板的 DNS 设置中,需要“开启域名证书”功能。
- 飞网控制面板的访问控制策略中,需要给该设备授权“使用入口网关”功能。
验证:
- 在互联网中使用该入口网关域名,访问该入口网关服务。
- 示例访问地址为
https://gmzta-gvisor-in.<tuandui>.gmzta.net,需根据实际飞网网络域名访问。
Gvisor 模式配置文件:
version: "3.7"
services:
# # 容器对外提供服务(如 in/service/webdav),用户空间模式通常可以工作,因为这些功能主要依赖飞网自身的代理能力,而非内核路由。
gmzta-gvisor-in:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-gvisor-in
hostname: gmzta-gvisor-in
environment:
- GM_TOKEN=${GM_TOKEN}
- GM_CONFIG_DIR=/var/lib/gmzta
- GM_TUN=false
- GM_IN=--https=443 http://172.30.0.102:80
volumes:
- ./gmzta/state:/var/lib/gmzta
restart: on-failure:3
networks:
gmzta-gvisor-in:
ipv4_address: 172.30.0.101 # 主节点分配固定IP地址
nginx-gvisor-in:
image: nginx
container_name: nginx-gvisor-in
hostname: nginx-gvisor-in
restart: on-failure:3
networks:
gmzta-gvisor-in:
ipv4_address: 172.30.0.102 # 子网节点分配固定IP地址
networks: # 定义自定义网络
gmzta-gvisor-in:
name: gmzta-gvisor-in
driver: bridge
ipam:
config:
- subnet: 172.30.0.0/24
gateway: 172.30.0.1TUN 模式配置文件:
version: "3.7"
services:
gmzta-tun-in:
image: registry.cn-beijing.aliyuncs.com/gmzta/gmzta:latest
container_name: gmzta-tun-in
hostname: gmzta-tun-in
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
devices:
- /dev/net/tun:/dev/net/tun
environment:
- GM_TOKEN=${GM_TOKEN}
- GM_CONFIG_DIR=/var/lib/gmzta
- GM_TUN=true
- GM_IN=--https=443 http://127.0.0.1:8080
volumes:
- ./gmzta/tun-in:/var/lib/gmzta
restart: on-failure:3
nginx-tun-in:
image: nginx
container_name: nginx-tun-in
hostname: nginx-tun-in
ports:
- "127.0.0.1:8080:80"
restart: on-failure:3