首页 > 解决方案 > 如何在没有反向代理和域名的情况下使用 odoo longpolling

问题描述

有没有办法在没有反向代理和域名的情况下使用 odoo longpolling ?

我正在为我的实例使用 <IP_Address>:<port_no> 格式。Longpolling 设置为 8072,启用了多处理(worker 不等于 0),'proxy_mode = True' 但我收到如下总线错误,

2021-02-15 16:17:56,874 20 INFO PMS werkzeug: 156.222.82.1 - - [15/Feb/2021 16:17:56] "POST /longpolling/poll HTTP/1.1" 200 -
2021-02-15 16:18:14,852 20 DEBUG PMS odoo.modules.registry: Multiprocess signaling check: [Registry - 333 -> 333] [Cache - 7299 -> 7299]
2021-02-15 16:18:14,854 20 ERROR PMS odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 642, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 684, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 334, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py", line 101, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 327, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 942, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 507, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")
Exception: bus.Bus unavailable

谢谢 !

标签: odooxml-rpclong-pollingbus

解决方案


你不能。如果您在生产环境中,最好有一个带有 ssl 的域和一个像 apache 和 nginx 这样的服务器来使用长轮询功能(多线程),这使得更多的人可以同时访问 odoo 并且它更安全。但是,如果您在测试环境中或很少有用户 ~6 您不需要反向代理和长轮询功能,只需将其停用即可。

在这里阅读更多

要实现这样的事情,你需要在 Odoo 前面部署一个反向代理,比如 nginx 或 apache。这样做时,您需要将更多的 http 标头转发给 Odoo,并在 Odoo 配置中激活 proxy_mode 以让 Odoo 读取这些标头。关联

Odoo 以明文形式传输身份验证信息。这意味着 Odoo 的安全部署必须使用 HTTPS。SSL 终止可以通过几乎任何 SSL 终止代理来实现。关联


推荐阅读