Skip to content
Discussion options

You must be logged in to vote

你观察到的"工作记录未显示 + 功能不可用"和端口转发本身无关——是服务端 API 信任围栏在按设计拒绝非 loopback 来源的请求。机制如下:

机制(源码 + 实测)

dsh-client-connectionisTrustedApiRequest 对每个 /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 匹配任意端口):

- id: client-connection
  config:
    trustedHosts:
      - 192.168.137.1:4090

dsh web --pat…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by JularDepick
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants