Ask: 端口转发跨host后工作记录显示缺失 #437
Answered
by
DRAG0NM
JularDepick
asked this question in
Q&A
Answered by
DRAG0NM
Aug 13, 2026
Replies: 1 comment
|
你观察到的"工作记录未显示 + 功能不可用"和端口转发本身无关——是服务端 API 信任围栏在按设计拒绝非 loopback 来源的请求。机制如下: 机制(源码 + 实测)
这和 #313(代理/TUN 环境下全部 403)是同一围栏的两种触发面,已在 rc.6 上实测验证( 解决办法配置 - id: client-connection
config:
trustedHosts:
- 192.168.137.1:4090( 两个注意点
|
0 replies
Answer selected by
JularDepick
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment



你观察到的"工作记录未显示 + 功能不可用"和端口转发本身无关——是服务端 API 信任围栏在按设计拒绝非 loopback 来源的请求。机制如下:
机制(源码 + 实测)
dsh-client-connection的isTrustedApiRequest对每个/api请求做四重检查,其中一条是:Host不是 loopback(127.0.0.0/8、::1、localhost)且不在trustedHosts配置内 → 403(DNS-rebinding 防御)。你的 nestsh 转发把请求以Host: 192.168.137.1:4090送达服务端——非 loopback → 全部/api/*返回裸forbidden(403),于是页面拿不到会话/工作记录、任何功能都点不动(本机 3080 的请求是 loopback,所以正常)。这和 #313(代理/TUN 环境下全部 403)是同一围栏的两种触发面,已在 rc.6 上实测验证(
Host: 192.168.x.x类非 loopback → 403;loopback → 200)。解决办法
配置
trustedHosts授权你的转发来源。在 profile patch 里给client-connection加一行(authority 形式,精确host:port或裸 host 匹配任意端口):(
dsh web --pat…