
之前用 frp 所谓支持 websocket 结果死活不行各种报错:
do http proxy request error: no such domain
或者是 do http proxy request error: backend tried to switch protocol "" when "websocket" was requested
求真正支持能够内网穿透 websocket 的软件
1 WordTian 2021-01-17 01:27:17 +08:00 via Android 你转发 tcp 就完了 |
2 cz5424 2021-01-17 09:08:23 +08:00 via iPhone 1 楼说的对 |
3 xyooyx 2021-01-17 09:30:48 +08:00 via iPhone |
4 YouLMAO 2021-01-17 11:09:12 +08:00 via Android websocket 为啥报错 http,no way |
5 fxt0706 2021-01-17 12:48:15 +08:00 |
6 wakzz 2021-01-17 17:43:07 +08:00 一楼正解 |
7 no1xsyzy 2021-01-17 19:11:43 +08:00 我来点诡异的:cloudflared |
8 40EaE5uJO3Xt1VVa 2021-01-17 19:31:04 +08:00 2 楼书说得对 |
9 masker 2021-01-17 22:24:31 +08:00 via Android 说半天原来是自己的问题 |
10 VKRUSSIA OP https://github.com/fatedier/frp/issues/2189 提问后,作者给的答案挺无语的说是缺少某 header(用 chrome 控制台测试的,查看了网络请求并不缺他说的 header)。有空试试 3 楼兄弟的工具 |
11 VKRUSSIA OP |
12 no1xsyzy 2021-01-18 12:34:44 +08:00 @VKRUSSIA 根据源代码里搜索报错字符串来说,应当是返回时缺少 upgrade: websocket 头 用 chrome 控制台测试是不行的,报了这个错会关闭链接,你拿不到返回头的。 拿 wireshark 抓下 |
13 no1xsyzy 2021-01-18 12:39:39 +08:00 @VKRUSSIA 拿 wireshark 抓下服务器端的包…… 能报这个错说明有 connection: upgrade 在,才会运行到能报错的逻辑 但,可能是 frp 在转变标准形的时候发生了问题,或者服务端没有发送 u:w 顺便问下你的服务端用的(语言?框架?应用?)是什么? |
14 VKRUSSIA OP @no1xsyzy 服务端是用的 javax.websocket.server.ServerEndpoint 类部署于 termux 里的 tomcat9 服务器,客户端是 javax.websocket.ClientEndpoint 。我用在局域网下用 ClientEndpoint 或 chrome 控制台访问 termux 里这个项目是正常的,把这个项目直接部署到外网 VPS 用 ClientEndpoint 或 chrome 访问也是正常的,说明项目代码没有问题.但是把 termux 里的 tomcat9 用 frp 内网映射到外网后就是无法连接。浪费几天时间把我整抑郁了都。 |
15 VKRUSSIA OP 多次提 issue 最新版终于修复了。。。 |