让桥接、站点与管理端共用一个端口
在端口受限的网络中,让 NPC 桥接、HTTP(S) 隧道和 Web 管理共用 TCP 端口
端口复用可以让明文 TCP 桥接、HTTP(S) 隧道入口和 Web 管理共用一个 TCP 端口,适合公网只允许开放少量端口的环境。NPS 会根据连接开头的协议特征分流。
服务端配置
以下示例共用 443:
重启 NPS,并把以下 DNS 记录都解析到服务端:
admin.nps.example.com:Web 管理。- 业务域名:HTTP(S) 隧道。
Web 管理依赖 HTTP Host 与 web_host 精确区分。使用 IP 或其他 Host 访问会进入业务 HTTP 入口,而不是管理端。
客户端连接
普通 NPC 仍连接同一个桥接端口:
端口复用只基于 TCP。KCP 使用 UDP,TLS 桥接使用独立的 tls_bridge_port,不能按以上方式合并到复用端口。
限制与验证
- Web 管理复用适用于明文 HTTP 识别;需要安全访问时,建议在受控网络/VPN 中使用,或让外层反向代理单独终止管理端 HTTPS。
- HTTP 识别支持常用的 GET、POST、HEAD、PUT、DELETE、CONNECT、OPTIONS 和 TRACE。依赖其他方法的首个请求应先实测。
- 复用监听会绑定所有地址,需使用防火墙限制管理域名对应入口的访问来源。
- 修改任一端口或
web_host都需要重启 NPS。
重启后分别验证 NPC 上线、业务 HTTP、业务 HTTPS 和管理域名,不能只检查端口处于 LISTEN: