请教大佬, nginx 反代时候是不是用 websocket 性能更好?

2023-04-02 21:58:07 +08:00
 liuyinltemp

使用 websocket:

server { listen 443 ssl http2; ............

 		   }

location / {
           ............
 		proxy_http_version 1.1;
 		proxy_set_header Upgrade $http_upgrade;
 		proxy_set_header Connection "upgrade";
 		   }
           .........
 		}

使用 http 1.1

server { listen 443 ssl http2; ............

 		   }

location / {
           ............
 		proxy_http_version 1.1;
 		proxy_set_header Connection "";
 		   }
           .........
 		}

上面两种应该都对吧?是不是第一张反代时候访问用 websocketgeng'h 更好,1M 小水管想尽可能快一点。

2357 次点击
所在节点    NGINX
9 条回复
thinkershare
2023-04-02 22:06:09 +08:00
是使用 Web Socket 时候必须使用第一种方式,第二种用 Web Socket 连接会失败的。
liuyinltemp
2023-04-02 22:20:03 +08:00
@thinkershare 就是简单反代,性能上有区别吗?
richangfan
2023-04-02 22:49:59 +08:00
http 和 websocket 数据报文都不一样,不兼容的
star7th
2023-04-02 22:58:31 +08:00
如果你想大量转发什么数据,确实使用 websocket 协议性能更好
star7th
2023-04-02 22:58:59 +08:00
但是 1M 的带宽,物理上限就在那里了,再怎么折腾都不会差多少。
des
2023-04-02 23:09:42 +08:00
如果我没记错的 websocket 和 h2 不兼容。另外不知道你要做什么,总感觉你这么对比有点怪
ryd994
2023-04-02 23:16:20 +08:00
websocket 不是 http 的平行代替,更不是 http 的承载载体
而是 websocket 让 http 可以双向传输数据。或者说 http 是 websocket 的载体

即使是 1 的情况,如果网站本身没有用到 ws ,那结果和 2 是一样的
liuyinltemp
2023-04-03 09:22:51 +08:00
@ryd994 源站没有 websocket ,那确实没啥意义
gotosre
346 天前
不同的, 取决于 upstream 是啥协议啊

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

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

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

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

© 2021 V2EX