当nginx 代理转发 websocket 时,需要这些配置:

分类:Nginx |

当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 等实时场景

}