Nginx 做 websocket 代理
65535 个客户端连接
前两天 FE 朋友转我一个问题。
1 |
|
让我想起来了很久前的另一个事情:
1 |
|
世间怎还会有如此愚不可及、蠢不可耐的人。
至于 nginx 对 websocket 支持只有 30 秒的事情,想了一会,愣是没有一点印象对。
先前还做过类似的工作: feat: add websocket support to the proxy server,
感觉有点奇怪,赶紧搜索资料简单验证了一下,发现真有超时的的问题。由仔细读一遍
文档,在尾部发现:
1 |
|
原文大意:
1 |
|
一点印象没有,看来当时没有完全理解这段话的含义, 五十步笑百步而。
再遇 Hop-by-Hop
前两年写 orange 的插件的时候就发现 HOP-by-Hop 头无法用 ngx.req.set_header 操作,说来惭愧,当时虽然感觉概念很奇怪,但也一直没去调查具体的含义。凑着这次机会,往前走了一小步。发现了很有意思的另外一个概念 End-to-End。
设想这么一个简单的场景,比如一个数据包的路径是 C-P-K-S
若干节点,如果 C 发出的数据包中的字段,在 P 节点被丢弃,那么这个字段就是
Hop-by-Hop ( 逐跳, 比如Http 1.1
中的Upgrade)字段,如果这个字段需要原封不动的传递到 S,那么这个字段就是
End-to-End(端到端)字段。
Nginx 做 websocket 代理
http://blog.soul11201.com/2019/09/02/Hoy-by-Hop/