# 加密 NPC 与 NPS 之间的连接

> 使用独立 TLS 桥接端口加密 NPC 与 NPS 之间的控制和隧道流量

---

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

---

TLS 桥接用于加密 NPC 与 NPS 之间的控制和多路复用链路，避免桥接流量以明文形式经过网络。它不等同于 HTTP(S) 隧道的站点证书配置。

## 服务端配置

在 `nps.conf` 中设置：

```ini
bridge_type=tcp
bridge_port=8024
tls_enable=true
tls_bridge_port=8025
```

重启 NPS，并在防火墙放通 `tls_bridge_port` 的 TCP 入站流量。TLS 监听与普通 `bridge_port` 并存；确认所有 NPC 已迁移后，如不需要明文桥接，可在防火墙关闭普通桥接端口。

TLS 桥接只用于 TCP 桥接模式。`bridge_type=kcp` 时不会启动独立 TLS 监听。

## 客户端连接

使用默认自签名证书时，先从可信的 NPS 启动日志获取 64 位公钥指纹，或直接复制 Web 管理中新生成的 TLS 连接命令。无配置文件模式：

```shell
./npc -server=nps.example.com:8025 -vkey=客户端验证密钥 \
  -tls_enable=true -tls_server_fingerprint=替换为服务端实际公钥指纹
```

配置文件模式：

```ini
[common]
server_addr=nps.example.com:8025
conn_type=tcp
vkey=客户端验证密钥
tls_enable=true
tls_server_fingerprint=替换为服务端实际公钥指纹
```

服务端和客户端必须成对使用 TLS 端口与 `tls_enable=true`。把 TLS 客户端连到普通桥接端口，或把明文客户端连到 TLS 端口，都会在握手阶段失败。

## 安全边界

NPS 默认生成并持久化自签名证书，重启复用身份。NPC 默认校验服务端证书，可选择系统 CA、指定私有 CA 或固定公钥指纹。公共 CA 证书且域名匹配时可省略指纹参数；自签名名称模式、证书文件路径、GUI 和旧版迁移详见[桥接证书与身份验证](/extend/feature/bridge-tls-certificates.html)。

显式启用 `tls_insecure_skip_verify=true` 会恢复旧版只加密、不验证身份的行为。TLS 桥接与普通明文桥接同时监听，TLS 本身不会关闭明文入口。最低支持 TLS 1.2，双方支持时协商 TLS 1.3。

连接后可在客户端列表确认 NPC 在线，并检查 NPS 日志中的 TLS 监听端口。若连接失败，依次核对 TCP 连通性、两端 TLS 开关、端口以及 `bridge_type`。

---

反链：

- [使用说明](/client/use.html)
- [桥接证书与身份验证](/extend/feature/bridge-tls-certificates.html)
