跳到正文

TLS 入站 ​

多个用户的 TCP 转发规则共用一个入口端口,节点读取客户端 ClientHello 中的 SNI,选择规则后透传完整 TLS 握手和密文。客户端与最终目标建立 TLS 连接,证书、TLS 版本和 ALPN 由两端协商,节点不解密,也不需要配置入站证书。

管理员配置 ​

打开「节点管理 → 编辑节点 → TLS 入站」,新增共享入口,填写名称和端口。端口可使用 443,不受普通规则的可分配端口范围限制。

配置项用途
启用开关整个共享入口,保留入口及关联规则。
允许的 SNI 范围一行一个域名。example.com 允许自身及子域名,.example.com 仅允许子域名;留空允许所有域名。
接受 Proxy Protocol默认关闭。开启后连接须在 ClientHello 前发送 PROXY v1 / v2 头,自动识别版本;可信来源网段在「系统设置 → 转发安全」配置。
ClientHello 并发读取上限限制正在读取 ClientHello 的连接数量,默认 128;分流完成后释放名额,不限制已建立的转发连接。
ClientHello 读取超时(秒)等待 PROXY 头和完整 ClientHello 的时间,默认 5 秒。
拒绝没有 SNI 的连接默认开启。关闭后,无 SNI 的 TLS 连接可使用管理员默认规则。
未知 SNI拒绝连接,或转发到本入口下的管理员默认规则;仍需满足 SNI 允许范围。
仅允许 TLS 入站此节点的普通 TCP 规则停止转发,TCP 规则须选择共享 TLS 入口;UDP 不受影响。

同一节点的共享入口、普通 TCP 规则及 TCP 隧道监听不能占用同一端口。同一共享入口的 SNI 不可重复,暂停规则仍保留其 SNI。

用户创建规则 ​

在「转发规则」选择 TCP、入口和出口,将「入站方式」设为「共享 TLS 入站」,选择共享入口并填写 SNI 域名,一行一个。目标填写实际提供 TLS 服务的地址与端口,监听端口使用管理员配置的共享端口。

例如两个用户分别添加以下规则:

共享入口SNI目标
入口IP:443app.example.com目标A:443
入口IP:443api.example.com目标B:8443

客户端连接同一个入口地址与端口,分别发送对应 SNI。客户端验证的是目标服务的证书;目标证书应覆盖客户端使用的域名。SNI、ALPN 和其他握手内容原样透传。

选择出口后,完整 TLS 数据经所选隧道传到目标,入口到出口的传输协议和加密方式仍在节点中配置。

各规则独立统计流量、执行资源限制和启停。流量按双向实际转发的 TCP 字节累计,包括目标 TLS 握手和记录开销,不包含节点间隧道的额外封装。

共享 TLS 入站规则使用「Nekopass 完整备份」导入导出。升级时保留原共享端口、SNI 和用量,移除旧入站证书及共享规则的回源 TLS 设置;主控和入口节点均需更新到支持 SNI 透传的版本。