问题:Odoo部署服务器,多人使用后或带宽低时会出现浏览器白屏无法访问
出现场景:在个人或小组测试时不会出现,但测试或使用人数增多后,访问Odoo,并登录账号后浏览器出现空白页情况,且浏览器请求web.assets_common.js、web.assets_backend.js等样式文件会出现报错ERR_CONTENT_LENGTH_MISMATCH
原因:Odoo 设置了相关套接字超时配置,默认时长是2秒,主要限制多工作线程响应最大时长,有一定安全方面考虑,所以在修改时不宜改的太长(并不是越长越好),个人建议是10-20秒即可。
解决方案一:(原生环境,即没用docker)
在odoo项目文件夹中找到odoo/sevice/server.py文件
将其中这句
self.sock_timeout = float(sock_timeout) if sock_timeout else 2
改为
self.sock_timeout = float(sock_timeout) if sock_timeout else 20
解决方案二:(docker环境)
若docker是用yml文件配置的,在此文件中environment属性中增加一行:
- ODOO_HTTP_SOCKET_TIMEOUT=20
若容器是用命令行方式创建则在命令行最后加入
--env ODOO_HTTP_SOCKET_TIMEOUT=20
相关参考文献:
https://www.odoo.com/es_ES/forum/ayuda-1/why-appeared-blank-page-when-configration-workers-above-0-172882
https://github.com/odoo/odoo/commit/49e3fd102f11408df00f2c3f6360f52143911d74