admin管理员组

文章数量:1633029

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

本文标签: 提示文档ONLYOFFICE