You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 16日志报400 Bad Request错误求助:缺失upgrade请求头

Odoo 16中bus.websocket 400 Bad Request错误排查方案

这个错误出在WebSocket握手环节,本质是请求缺少触发协议升级的Upgrade头。虽然不影响核心业务运行,但会污染日志,以下是几个实用的排查方向:

  • 反向代理配置遗漏
    如果你用Nginx、Apache做反向代理,必须确保配置里正确传递WebSocket相关请求头。以Nginx为例,针对Odoo的长连接端点要加这些配置:

    location /longpolling {
        proxy_pass http://你的Odoo服务地址:8069;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
    

    没配置这些的话,代理会截断WebSocket升级所需的头,导致Odoo返回该错误。

  • 异常客户端请求
    可能是浏览器扩展、自定义前端脚本错误地向/longpolling端点发送了普通HTTP请求(而非WebSocket升级请求)。可以打开浏览器开发者工具的Network面板,过滤WS类型请求,同时留意有没有非WS的请求打到这个端点上。

  • Odoo内部配置或自定义模块冲突
    检查Odoo的ir.config_parameter参数,确认bus.longpolling_port、bus.server_host等配置和实际部署一致。如果有自定义模块修改过bus相关的路由、中间件逻辑,可以临时禁用所有自定义模块,看错误是否消失,再逐个启用排查问题模块。

  • 网络层拦截
    防火墙、CDN或安全网关可能拦截了WebSocket的Upgrade头,需要检查这类设备的规则,确保允许HTTP 1.1协议升级到ws/wss的请求通过。


内容的提问来源于stack exchange,提问作者Boris Veselov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 23:09:54