FAQ-离线开发提交任务一直等待中Unexpected response code:404
更新时间: 2025-08-22 15:03:24
阅读 218
FAQ-离线开发提交任务一直等待中:Unexpected response code:404
问题描述/异常栈
提交任务一直转圈等待中,刷新浏览器后实际提交成功。F12报错:Error during WebSocket handShake:Unexpected response code:404
发现版本
EasyDataV9.0-patch01错误排查
打开浏览器开发者工具提交任务,观察是否有WebSocket请求报错,有如下情况表示WebScoket链接未正常建立,需要去nginx节点查看nginx.conf和mammut.conf是否配置WebSocket代理。WebSocket connection to 'ws://xxxx' failed: Error during WebSocket handshake: Unexpected response code: 404



解决方案
在nginx server所在的所有机器修改mammut.conf配置 增加以下三行,修改后重启nginx服务。proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";

问题原因
客户端nginx代理未正确添加websocket配置。1. 当代理服务器返回101状态码(协议切换)时,Nginx会允许建立隧道 2. 客户端必须通过请求中的"Upgrade"头部来请求协议切换 3. 默认情况下,"Upgrade"和"Connection"等逐跳(hop-by-hop)头部不会从客户端传递到代理服务器 4. 因此必须显式传递这些头部,以便代理服务器知道客户端要切换到WebSocket协议 location /{ proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
参考文档:https://www.cnblogs.com/kevingrace/p/9512287.html
作者:楚展航
文档反馈
以上内容对您是否有帮助?