# 扩展功能配置指南

> 按场景配置真实 IP、访问保护、限速、负载均衡、端口管理和运行诊断

---

LLMS 索引： [llms.txt](/llms.txt)

---

这里汇总 NPS 的扩展能力。每篇文档包含配置入口、可直接使用的示例、验证方法以及生效边界。

需要自定义桥接证书、切换自签名名称模式或配置 NPC 的 CA/指纹校验，请查看[桥接证书与身份验证](/extend/feature/bridge-tls-certificates.html)。

开始前请先分清配置来源：

- `nps.conf` 控制服务端监听、全局开关和运行参数，修改后通常需要重启 NPS。
- Web 管理中的客户端和隧道设置会写入服务端数据文件，大多可立即应用。
- `npc.conf` 由 NPC 读取；其中创建的客户端和隧道应修改配置文件并重新连接，Web 只用于查看。

涉及公网端口、认证和来源 IP 信任时，请先在测试环境验证，再应用到生产环境。

> HTTP 响应缓存当前未实现。需要缓存时，请参考[HTTP 响应缓存（未实现）](/extend/feature/http-cache.html)中的替代方案。

---

本节页面：

- [向 HTTP 后端传递访问者真实 IP](/extend/feature/real-ip.html): 通过 X-Forwarded-For 向 HTTP 后端传递访问者地址，并正确配置可信代理
- [Web 配置何时生效](/extend/feature/hot-reload.html): 判断 Web 修改能否实时生效、是否会重启隧道，以及何时必须重启 NPS 或 NPC
- [查看客户端的出口与内网地址](/extend/feature/client-address.html): 区分 NPS 看到的客户端出口地址和 NPC 实际使用的内网地址
- [查看和保存隧道流量统计](/extend/feature/traffic-statistics.html): 查看客户端与隧道流量，理解统计口径，并按需持久化计数
- [查看客户端当前传输速度](/extend/feature/client-bandwidth.html): 查看单个客户端所有隧道的当前聚合传输速度
- [查看 NPC 版本与兼容性](/extend/feature/version-check.html): 查看在线 NPC 版本，理解跨版本连接行为并安全安排升级
- [提高 Linux 并发连接容量](/extend/feature/linux-limits.html): 检查并调整文件描述符与 TCP 监听队列，解决高并发系统瓶颈
- [防止 Web 管理登录被暴力破解](/extend/feature/web-protection.html): 使用登录失败限制、图形验证码和网络访问控制保护 Web 管理端
- [加密 NPC 与 NPS 之间的连接](/extend/feature/encrypted-transport.html): 使用独立 TLS 桥接端口加密 NPC 与 NPS 之间的控制和隧道流量
- [为 NPC 连接 NPS 配置证书](/extend/feature/bridge-tls-certificates.html): 选择服务端证书，配置 NPC 的验证方式，并检查连接是否正常
- [为 HTTP(S) 站点设置访问密码](/extend/feature/site-protection.html): 使用 HTTP Basic Auth 限制对 HTTP(S) 隧道和 HTTP 正向代理的访问
- [改写 HTTP 后端收到的 Host](/extend/feature/host-rewrite.html): 公网域名与内网站点名称不同时，为后端设置正确的 Host 请求头
- [新增或覆盖 HTTP 后端请求头](/extend/feature/request-header.html): 在 HTTP(S) 隧道转发前新增固定请求头或覆盖同名字段
- [自定义 HTTP 隧道的 404 页面](/extend/feature/custom-404.html): 重新构建 NPS，为 HTTP 隧道替换后端连接失败时的全局 404 页面
- [限制客户端可累计使用的流量](/extend/feature/traffic-limit.html): 按客户端限制所有隧道的累计入站与出站流量
- [限制客户端的传输速度](/extend/feature/bandwidth-limit.html): 按客户端限制所有隧道共享的入站与出站传输速度
- [将新连接轮询到多个后端](/extend/feature/load-balancing.html): 为 HTTP(S) 或 TCP 隧道设置多个目标，并了解轮询、健康检查与重试边界
- [自动分配服务端监听端口](/extend/feature/auto-port.html): 新增隧道时从允许范围内自动选择未占用的服务端监听端口
- [复制普通隧道配置](/extend/feature/tunnel-copy.html): 沿用普通隧道的客户端、目标与访问策略，并自动分配新的监听端口
- [向 TCP 后端传递访问者真实 IP](/extend/feature/tcp-real-ip.html): 使用 PROXY v1/v2 向兼容的 TCP 后端传递公网访问者地址
- [限制隧道可使用的服务端端口](/extend/feature/port-allowlist.html): 使用允许列表限制用户创建、复制和启动隧道时可占用的服务端端口
- [批量映射 TCP 或 UDP 端口](/extend/feature/port-range.html): 使用 NPC 配置文件把多组服务端端口批量映射到对应目标端口
- [批量映射到其他内网主机](/extend/feature/remote-port-range.html): 通过 NPC 批量转发到同一台内网主机上的多个对应端口
- [使用 UDP/KCP 连接 NPS](/extend/feature/kcp.html): 在特定网络中用 KCP 替代 TCP 承载 NPC 与 NPS 的桥接连接
- [用泛域名转发多个子域名](/extend/feature/wildcard-domain.html): 用一条 HTTP(S) 隧道规则匹配并转发同一后缀下的多个子域名
- [按 URL 路径选择不同后端](/extend/feature/url-prefix.html): 为同一域名配置多个路径前缀，并把请求转发到不同内网服务
- [限制客户端的并发连接数](/extend/feature/connection-limit.html): 限制单个客户端所有隧道共享的同时转发连接数量
- [限制客户端可创建的隧道数](/extend/feature/tunnel-limit.html): 限制通过 Web 为单个客户端创建的普通隧道和 HTTP(S) 规则数量
- [让桥接、站点与管理端共用一个端口](/extend/feature/port-reuse.html): 在端口受限的网络中，让 NPC 桥接、HTTP(S) 隧道和 Web 管理共用 TCP 端口
- [用一条桥接连接承载多个隧道](/extend/feature/multiplexing.html): 理解 NPS 如何在一条 NPC 桥接连接中承载多个业务连接及其故障影响
- [用环境变量启动 NPC](/extend/feature/environment-variables.html): 在容器或自动化环境中通过服务端地址和验证密钥启动无配置文件 NPC
- [采集 NPS 与 NPC 性能分析数据](/extend/feature/pprof.html): 安全开启 pprof，通过 CPU、内存和协程数据诊断 NPS 或 NPC 性能问题
- [调整 NPC 断线检测时间](/extend/feature/disconnect-timeout.html): 调整 NPS 与 NPC 在连续未收到探测响应时关闭桥接连接的等待时间
- [检测 NAT 类型并评估 P2P 直连条件](/extend/feature/nat-detection.html): 使用 STUN 查看当前网络的 NAT 类型和公网 UDP 映射地址
- [检查 npc.conf 中的隧道是否在运行](/extend/feature/config-status.html): 对比本地 npc.conf 与 NPS 上的规则状态并识别未运行的隧道
- [让 NPC 通过 HTTP 或 SOCKS5 代理连接 NPS](/extend/feature/outbound-proxy.html): 在 NPC 无法直连外网时通过上游 HTTP 或 SOCKS5 代理建立 TCP 桥接
- [在群晖 NAS 上运行 NPC](/extend/feature/synology.html): 使用 Container Manager 部署 NPC 并正确访问 NAS 和局域网服务
- [用白名单和限频保护 TCP 隧道](/extend/feature/tcp-access-control.html): 用 IP 或 CIDR 白名单限制 TCP 隧道来源并为公开入口设置新连接频率上限
- [HTTP 响应缓存（未实现）](/extend/feature/http-cache.html): 说明当前版本的缓存配置为何不可用，以及可部署的替代方案
