说明
- Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本
- NGINX 通过允许一个在客户端和后端服务器之间建立的隧道来支持 WebSocket。为了 NGINX 发送来至于客户端 Upgrade 请求到后端服务器,Upgrade 和 Connection 头部必须被设置明确
参考
nginx 反向代理 WebSocket
NGINX as a WebSocket Proxy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream websocket { server 192.168.100.10:8010; } server { listen 8020; location / { proxy_pass http://websocket; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; } } }
|