OnlyOffice 下载失败问题
问题概述
OnlyOffice前端界面出现“下载失败”
问题定位(0:docker内不能够访问)
很常见的一种情况是后端服务地址错误,在docker内无法访问。
请在docker容器中确定这个地址是可以访问的,鉴权是通过的。
docker exec -it onlyoffice /bin/bash
curl 后端服务下载文件的地址
问题定位(1:使用内部ip地址访问后端服务)
查看OnlyOffice Converter的日志文件(docker中对应位置/var/log/onlyoffice/logs/documentserver/converter/out.log
如果发现日志文件中存在
Error: DNS lookup xxx.xxx.xxx.xx(family:undefined, host:undefined) is not allowed. Because, It is private IP address.
那么需要编辑配置文件允许私有ip通过:
编辑docker中/etc/onlyoffice/documentserver/default.json
下的内容
搜索并修改以下字段为true
"request-filtering-agent" : {
"allowPrivateIPAddress": true,
"allowMetaIPAddress": true
},
也可以将文件复制出来再进行编辑
docker cp onlyoffice:/etc/onlyoffice/documentserver/default.json ./
vim default.json
docker cp ./default.json onlyoffice:/etc/onlyoffice/documentserver/default.json
更改后,需要重启容器;
问题定位(2:检查前端请求)
一种情况是Editor.bin文件无法下载,如果正使用nginx proxy_pass到onlyoffice服务,请检查转发时是否正确转发了host,否则在下载Editor.bin文件时会失败;
具体表现为:前端存在如下请求Editor.bin?md5=xxx处理失败
观察发现地址为localhost:port,这实际上是nginx转发后访问到onlyoffice,onlyoffice所能获取到的地址;
在对应转发配置中加入:
proxy_set_header Host $http_host;
更改nginx配置后,需要重载nginx配置:nginx -s reload
其他
在运行docker容器时,我也使用了以下启动选项
-e JWT_ENABLED=false -e USE_UNAUTHORIZED_STORAGE=true -e ONLYOFFICE_HTTPS_HSTS_ENABLED=false
原文链接:https://blog.csdn.net/m0_53401243/article/details/133869439