我现在碰到这样一个问题:
请问有哪些简单的解决方案, 主要是 A 服务器如何转发 Webscoket 请求给 B 服务器,B 服务器通过扫码方式代理该请求? 目前有两个方案 1. A 服务器改 hosts 文件, 然后 B 服务器开端口转发, 不过貌似要占用 443 端口 2. A 服务器和 B 服务器都装 nginx, 双重反向代理 请问各位有没有更加优雅简单的方法?
1
julyclyde 2023-07-26 12:31:20 +08:00 1
先把拼写弄正确!!
|
3
zmqking 2023-07-26 12:42:31 +08:00 via iPhone 1
websocket
|
4
ysc3839 2023-07-26 13:04:34 +08:00 via Android
B 服务器端口转发用非 443 端口也可以吧
|
5
Nazz 2023-07-26 13:36:13 +08:00 1
在 B 服务器部署 socks5 就行了
|
6
march1993 2023-07-26 14:12:41 +08:00
通过 Service Worker API ?无感代理外网请求
|
7
lsk569937453 2023-07-26 14:16:45 +08:00
就 B 装一个 Nginx ,A 发请求到 B 的 Nginx 就完事了。
|
8
tin3w5 2023-07-26 14:24:41 +08:00
既然是正向代理,那就直接 Squid 。
|
9
abear 2023-07-26 14:29:12 +08:00
5,7 楼说得对
|
10
jack778 OP @Nazz A 服务器上是用 nginx 接收客户端请求的,请问如何让 B 服务器代理 A 服务器的 websocket 请求呢, A 服务器要怎么配置?
|
11
Nazz 2023-07-26 15:24:16 +08:00
@jack778 首先在 B 服务器部署 socks5 server, 然后找一个支持代理的 websocket client. 如果是 go 语言, 可以用我写的这个 https://github.com/lxzan/gws
|
12
jifengg 2023-07-26 16:48:40 +08:00 1
看你最后的描述,你是知道怎么转发的,只是问有没有更优雅的方法。
首先确定,客户端能不能访问 B 服务器?如果能,那 A 的 web 应用里,配置 ws 地址为 B 服务器的 ws 地址,让客户端直接连 B ,B 连网易。A 就不用再转一次 ws 了。这里要解决一个跨域问题就行了。 如果不能,那就只能 客户端->A->B->网易 了 |