当nginx 代理转发 websocket 时,需要这些配置:
当nginx 代理转发 websocket 时,需要这些配置:
location / { # 匹配所有以 "/" 开头的请求
proxy_pass http://127.0.0.1:10000/; # 把请求转发到本地 13000 端口,末尾的 "/" 表示把匹配到的路径直接拼到后面
proxy_http_version 1.1; # 使用 HTTP/1.1 协议与后端通信(默认 1.0)
proxy_set_header Upgrade $http_upgrade; # 把浏览器发来的 Upgrade 头(ws→websocket)原样传给后端
proxy_set_header Connection "Upgrade"; # 显式声明连接要升级,支持 WebSocket 握手
proxy_set_header Host $host; # 把浏览器请求的 Host 头原样传给后端,防止后端做虚拟主机校验时出错
proxy_buffering off; # 关闭 Nginx 对响应的缓冲,适合 SSE、WebSocket 等实时场景
}