首先区分握手失败与连接打开后又关闭。两种症状需要不同的检查方向。
让应用收到升级请求
对于专用 WebSocket 路由,在 server 内加入:
nginx
location /socket/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
proxy_http_version 明确指定向后端使用 HTTP/1.1。Upgrade 转发客户端请求的协议切换。Connection 告诉后端该连接正在请求切换。需要明确转发这些头,因为代理不会直接把每个与连接相关的头都传递下去。
