应用介绍
NPS(Nginx Proxy Service,ehang-io/nps)是一款功能丰富的内网穿透与反向代理平台,支持多协议、多隧道与可视化 Web 管理界面,能在公网服务器上集中管理来自内网客户端(npc)的隧道注册。对于 NAS 场景,常见方案是在云服务器部署 nps 服务端,在 NAS 上部署 npc 客户端,实现 HTTP/HTTPS/TCP/UDP 等多种访问穿透。

NPS 具备统一鉴权、流量统计、路由配置、证书管理(配合外部反代/证书工具)等能力,适合同时管理多台家庭与办公 NAS 的公网访问。
安装说明
前提依赖
- 公网服务器一台(Linux,开放必要端口),用于部署 nps 服务端
- 家庭 NAS(Docker 环境),用于部署 npc 客户端
安装配置
服务器端(nps)示例(云服务器):
version: "3.8"
services:
nps:
image: ffdfgdfg/nps:latest
container_name: nps
restart: unless-stopped
ports:
- "8024:8024" # Web 管理端口
- "80:80" # HTTP 代理端口(可按需)
- "443:443" # HTTPS 代理端口(可按需)
- "8284:8284" # 客户端连接端口(bridge)
volumes:
- ./conf:/conf
客户端(npc)示例(NAS):
version: "3.8"
services:
npc:
image: ffdfgdfg/npc:latest
container_name: npc
restart: unless-stopped
network_mode: host
environment:
- SERVER_ADDR=your-cloud-ip-or-domain:8284
- VKEY=your-vkey
- AUTO_RECONNECT=true
注意事项:
- 第一次启动 nps 后,访问 http://云服务器IP:8024 登录管理后台,创建客户端并获取 vkey
- 生产环境建议使用反向代理(如 Nginx Proxy Manager/Traefik)为 8024 管理界面与 80/443 代理端口提供 HTTPS
- npc 使用 host 网络更便于直连宿主服务;如非 host 模式,需按需暴露容器端口或内网映射
使用说明
- 在 nps 管理后台创建域名或端口型代理,将内网服务(如 NAS 的 8096/Jellyfin)映射到公网
- 在 NAS 启动 npc 并确保 VKEY 与 SERVER_ADDR 正确,连接状态为在线
- 通过配置的域名或端口即可从公网访问 NAS 服务
- 可在后台查看连接数与流量统计,按需调整并发与带宽限制