内网应用需访问外网 Webscoket 如何正向代理的问题

288 天前
 jack778

我现在碰到这样一个问题:

请问有哪些简单的解决方案, 主要是 A 服务器如何转发 Webscoket 请求给 B 服务器,B 服务器通过扫码方式代理该请求? 目前有两个方案 1. A 服务器改 hosts 文件, 然后 B 服务器开端口转发, 不过貌似要占用 443 端口 2. A 服务器和 B 服务器都装 nginx, 双重反向代理 请问各位有没有更加优雅简单的方法?

1294 次点击
所在节点    Linux
12 条回复
julyclyde
287 天前
先把拼写弄正确!!
jack778
287 天前
@julyclyde 请问哪里拼写错了,没看出来
zmqking
287 天前
websocket
ysc3839
287 天前
B 服务器端口转发用非 443 端口也可以吧
Nazz
287 天前
在 B 服务器部署 socks5 就行了
march1993
287 天前
通过 Service Worker API ?无感代理外网请求
lsk569937453
287 天前
就 B 装一个 Nginx ,A 发请求到 B 的 Nginx 就完事了。
tin3w5
287 天前
既然是正向代理,那就直接 Squid 。
abear
287 天前
5,7 楼说得对
jack778
287 天前
@Nazz A 服务器上是用 nginx 接收客户端请求的,请问如何让 B 服务器代理 A 服务器的 websocket 请求呢, A 服务器要怎么配置?
Nazz
287 天前
@jack778 首先在 B 服务器部署 socks5 server, 然后找一个支持代理的 websocket client. 如果是 go 语言, 可以用我写的这个 https://github.com/lxzan/gws
jifengg
287 天前
看你最后的描述,你是知道怎么转发的,只是问有没有更优雅的方法。

首先确定,客户端能不能访问 B 服务器?如果能,那 A 的 web 应用里,配置 ws 地址为 B 服务器的 ws 地址,让客户端直接连 B ,B 连网易。A 就不用再转一次 ws 了。这里要解决一个跨域问题就行了。
如果不能,那就只能 客户端->A->B->网易 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/959806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX