使用 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 小水管想尽可能快一点。
1
thinkershare 2023-04-02 22:06:09 +08:00
是使用 Web Socket 时候必须使用第一种方式,第二种用 Web Socket 连接会失败的。
|
2
liuyinltemp OP @thinkershare 就是简单反代,性能上有区别吗?
|
3
richangfan 2023-04-02 22:49:59 +08:00
http 和 websocket 数据报文都不一样,不兼容的
|
4
star7th 2023-04-02 22:58:31 +08:00
如果你想大量转发什么数据,确实使用 websocket 协议性能更好
|
5
star7th 2023-04-02 22:58:59 +08:00
但是 1M 的带宽,物理上限就在那里了,再怎么折腾都不会差多少。
|
6
des 2023-04-02 23:09:42 +08:00 via iPhone
如果我没记错的 websocket 和 h2 不兼容。另外不知道你要做什么,总感觉你这么对比有点怪
|
7
ryd994 2023-04-02 23:16:20 +08:00 via Android
websocket 不是 http 的平行代替,更不是 http 的承载载体
而是 websocket 让 http 可以双向传输数据。或者说 http 是 websocket 的载体 即使是 1 的情况,如果网站本身没有用到 ws ,那结果和 2 是一样的 |
8
liuyinltemp OP @ryd994 源站没有 websocket ,那确实没啥意义
|
9
gotosre 2023-05-28 18:33:28 +08:00
不同的, 取决于 upstream 是啥协议啊
|