odoo 的wkhtmltopdf error

问题描述:

阿里云odoo  docker 用的好好的。突然pdf无法打印了。(两个docker都无法打印了)。查看日志发现

WARNING demo odoo.addons.base.models.ir_actions_report: wkhtmltwopdf: b'Exit with code 1 due to network error: TimeoutError\n'

之前无人修改过配置和代码

解决方法:

1、把 阿里云的 访问端口 设置为 全部IP可以访问。就行了(刚开始没明白。但为了正常使用。就开放了)

之后通过google。发现 

The report module will first look for the report.url parameter and only use web.base.url as a fallback. Leave web.base.url as is and set report.url to http://0.0.0.0:8069.

(这时候就想可能和 docker 的端口有关联了)

全局搜索 report.url

base_url = IrConfig.get_param('report.url') or IrConfig.get_param('web.base.url')

发现这句代码

然后就是设置 report.url 了Settings >> Parameters >> System Parameters 

新增个  report.url  ="http://0.0.0.0:9579" 下载是解决了。但是还是乱码。所以想到可能要设置为 docker的端口

ports:
      - 0.0.0.0:9579:8069
 

设置为 http://0.0.0.0:8069 就可以解决了

总结原因:

为何原来都正常。但是现在不正常了呢。。而且 IP 全部放开就ok了

猜测 阿里防火墙升级规则了 变了。。原理 http://0.0.0.0:9579  然后wkhtmltwopdf 查询 http://47.103.19.155:9579/    本地(47.103.19.155)到本地 ip(47.103.19.155) 不拦截。。但是 升级防火墙规则后。本地 IP 也给拦截了。所以 docker 就无法访问 47.103.19.155:9579 这个IP了。

为了证实猜测。阿里云本地IP 也给 放行端口

猜你喜欢

转载自blog.csdn.net/sr50611/article/details/105971421