Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up[Feature Request] 自动协商底层传输协议并实现 WebSocket Upgrade request #1675
Comments
|
你想要像浏览器一样upgrade to websocket可以用apache nginx等配合v2ray, v2ray已经做到了能够http一来一往以后升级到websocket, http2 标准没有Upgrade to websocket |
|
顶!!这样就可以使用很多CDN了,因为大多数CDN不支持ws或者HTTP/2回源 |
|
浏览器好像不会自动协商把. 你放心好了v2的ws规范的不得了 cdn随便用. v2直接直连 ws模式都有upgrade头的. 不是你说的直接就跟http一样 没upgrade头部. 负载均衡自动协商感觉好像不太现实把. 或者我没看懂你说什么. |
|
楼上那人的意思 更像是要让v2支持普通http之类的模式. (或者普通tls 但是不是h2) 这我也不太清楚 不过不支持ws的是绝对连不上的. quic肯定也是服务器给设定了什么东西 浏览器收到了之后才会尝试连接. 浏览器可没那么聪明 自动就能知道各种类型连接. 不过你提到了那个google的ws 他们也没提到的是客户端跟均衡器之间的连接可以那样升级. |
疑?头里有 upgrade 的吗。。。 |
就是说在客户端这边用 nginx 做一个反代吗?然后就是说实际在网络当中的传输由两端的 nginx (负载均衡器)接管。有道理,这个思路不错! |
哦,你的意思是 GCP 的负载均衡器还不只是一个头那么简单是吧?所以现在 V2Ray WS 还会有问题。 |
|
反正具体问问客服是最有效率的了. 他们肯定知道. 问他们cdn到后端支不支持ws连接. 你如果后端配置的是https访问的话(cdn-v2) 要和v2都匹配才行. 如果cdn要是支持h2的话 你直接用h2不就行了. |
|
CDN 基本上都支持H2访问,只是现在没有CDN可以H2回源吧? |



对于使用云服务的负载均衡器(Azure 或者 Google cloud)以及 CDN 的用户,因为负载均衡器和 CDN 是可以直接接管证书和 TSL 甚至 HTTP/2 、 QUIC 的,所以希望 v2ray 作为客户端使用时也能够支持像浏览器一样自动协商底层传输协议是 HTTP 1.1 还是 HTTP/2 或 QUIC 。相当于在入站协议上提供一个尽量简单、不占资源的 HTTP 类型的底层传输协议,如 #1644 所需求的,再由客户端在出站协议上与负载均衡器自动协商。当然如果入站协议也能够提供一个支持多版本协商的 HTTP 底层传输协议那也再好不过。
以及目前 WebSocket 是直接使用 WebSocket 连接的,与浏览器的 HTTP 协商升级为 ws 的行为有所不同,跟据谷歌云的表述,其只支持 WebSocket Upgrade request from an HTTP(S) client
例如 chrome 可以跟据网络条件在 TCP/UDP 以及各代 HTTP 协议版本之间自动切换。
并且我没有找到任何文档对 v2ray 客户端究竟是否支持 WebSocket2 over HTTP/2 和 WebSocket over QUIC 并在连接可用时尝试升级进行说明。
以及 chrome 的 Network Stack 有没有像 V8 一样分离出来可以被调用?如果可以的话那网络传输协议的智能协商和切换以及模仿浏览器行为的混淆就完美了!