扩展功能配置指南
这里汇总 NPS 的扩展能力。每篇文档包含配置入口、可直接使用的示例、验证方法以及生效边界。
需要自定义桥接证书、切换自签名名称模式或配置 NPC 的 CA/指纹校验,请查看桥接证书与身份验证 。
开始前请先分清配置来源:
nps.conf控制服务端监听、全局开关和运行参数,修改后通常需要重启 NPS。- Web 管理中的客户端和隧道设置会写入服务端数据文件,大多可立即应用。
npc.conf由 NPC 读取;其中创建的客户端和隧道应修改配置文件并重新连接,Web 只用于查看。
涉及公网端口、认证和来源 IP 信任时,请先在测试环境验证,再应用到生产环境。
HTTP 响应缓存当前未实现。需要缓存时,请参考HTTP 响应缓存(未实现) 中的替代方案。
通过 X-Forwarded-For 向 HTTP 后端传递访问者地址,并正确配置可信代理
判断 Web 修改能否实时生效、是否会重启隧道,以及何时必须重启 NPS 或 NPC
区分 NPS 看到的客户端出口地址和 NPC 实际使用的内网地址
查看客户端与隧道流量,理解统计口径,并按需持久化计数
查看单个客户端所有隧道的当前聚合传输速度
查看在线 NPC 版本,理解跨版本连接行为并安全安排升级
检查并调整文件描述符与 TCP 监听队列,解决高并发系统瓶颈
使用登录失败限制、图形验证码和网络访问控制保护 Web 管理端
使用独立 TLS 桥接端口加密 NPC 与 NPS 之间的控制和隧道流量
选择服务端证书,配置 NPC 的验证方式,并检查连接是否正常
使用 HTTP Basic Auth 限制对 HTTP(S) 隧道和 HTTP 正向代理的访问
公网域名与内网站点名称不同时,为后端设置正确的 Host 请求头
在 HTTP(S) 隧道转发前新增固定请求头或覆盖同名字段
重新构建 NPS,为 HTTP 隧道替换后端连接失败时的全局 404 页面
按客户端限制所有隧道的累计入站与出站流量
按客户端限制所有隧道共享的入站与出站传输速度
为 HTTP(S) 或 TCP 隧道设置多个目标,并了解轮询、健康检查与重试边界
新增隧道时从允许范围内自动选择未占用的服务端监听端口
沿用普通隧道的客户端、目标与访问策略,并自动分配新的监听端口
使用 PROXY v1/v2 向兼容的 TCP 后端传递公网访问者地址
使用允许列表限制用户创建、复制和启动隧道时可占用的服务端端口
使用 NPC 配置文件把多组服务端端口批量映射到对应目标端口
通过 NPC 批量转发到同一台内网主机上的多个对应端口
在特定网络中用 KCP 替代 TCP 承载 NPC 与 NPS 的桥接连接
用一条 HTTP(S) 隧道规则匹配并转发同一后缀下的多个子域名
为同一域名配置多个路径前缀,并把请求转发到不同内网服务
限制单个客户端所有隧道共享的同时转发连接数量
限制通过 Web 为单个客户端创建的普通隧道和 HTTP(S) 规则数量
在端口受限的网络中,让 NPC 桥接、HTTP(S) 隧道和 Web 管理共用 TCP 端口
理解 NPS 如何在一条 NPC 桥接连接中承载多个业务连接及其故障影响
在容器或自动化环境中通过服务端地址和验证密钥启动无配置文件 NPC
安全开启 pprof,通过 CPU、内存和协程数据诊断 NPS 或 NPC 性能问题
调整 NPS 与 NPC 在连续未收到探测响应时关闭桥接连接的等待时间
使用 STUN 查看当前网络的 NAT 类型和公网 UDP 映射地址
对比本地 npc.conf 与 NPS 上的规则状态并识别未运行的隧道
在 NPC 无法直连外网时通过上游 HTTP 或 SOCKS5 代理建立 TCP 桥接
使用 Container Manager 部署 NPC 并正确访问 NAS 和局域网服务
用 IP 或 CIDR 白名单限制 TCP 隧道来源并为公开入口设置新连接频率上限
说明当前版本的缓存配置为何不可用,以及可部署的替代方案