启用Ubuntu Pro ESM后Odoo10中wkhtmltopdf报FIPS自检失败错误求助
解决Wkhtmltopdf FIPS自测试失败错误(错误码-6)
问题背景
Wkhtmltopdf failed (error code: -6). Message: ../crypto/fips/fips.c:151: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE
Ubuntu 18.04启用Ubuntu Pro ESM后,原正常运行的wkhtmltopdf 0.12.1.4出现上述错误,升级到0.12.6、降级到带补丁Qt的0.12.5版本均无法解决,运行环境为Odoo10。
可行解决方案
1. 禁用FIPS模式
Ubuntu Pro ESM默认启用FIPS合规模式,而wkhtmltopdf依赖的Qt库未通过FIPS认证,触发自测试失败。
- 临时禁用(重启后失效):
echo 0 > /proc/sys/crypto/fips_enabled
- 永久禁用:
编辑/etc/default/grub,在GRUB_CMDLINE_LINUX参数中添加fips=0,示例:
nano /etc/default/grub # 修改后内容:GRUB_CMDLINE_LINUX="fips=0 ..." update-grub reboot
2. 替换为无FIPS依赖的wkhtmltopdf版本
使用未启用FIPS支持的预编译版本适配Ubuntu 18.04:
- 下载对应bionic架构的wkhtmltox deb包(推荐0.12.6-1版本)
- 安装并修复依赖:
dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb apt-get install -f
若仍报错,可手动编译wkhtmltopdf,编译时添加-DFIPS=OFF参数关闭FIPS支持。
3. 调整Odoo10启动配置
在Odoo配置文件(如odoo.conf)中指定wkhtmltopdf路径:
[options] ... wkhtmltopdf = /usr/local/bin/wkhtmltopdf
启动Odoo时通过环境变量临时禁用FIPS:
export OPENSSL_FIPS=0 && /path/to/odoo-bin -c odoo.conf
验证
执行以下命令测试wkhtmltopdf是否恢复正常:
wkhtmltopdf https://www.example.com test.pdf
若成功生成PDF文件,说明问题解决。
内容的提问来源于stack exchange,提问作者Atul Modi
相关产品推荐
相关产品推荐

