使用docker部署onlyoffice插件步骤及踩坑问题(win10/linux)

一、引言

最近公司系统插件从金格换成了OnlyOffice,需要重新安装部署,做个记录。

安装onlyoffice有两种方式,第一种是独立安装nginx、epel、PostgreSQL、RabbitMQ等依赖项,再安装OnlyOffice文档插件。此种方式较为繁琐,暂不赘述,附同事分享的文档在资源内。

第二种为docker安装部署,省心方便,操作快捷。(注:部署docker需要重启计算机或服务器,谨慎选择
这里对第二种方式进行介绍。

最开始尝试在应用服务器:Windows Server2019上安装,由于安装环境较为复杂,为三层嵌套虚拟机,且客户不愿为该虚拟机开启嵌套虚拟化,Docker Desktop无法顺利启动,故放弃。
最后在win10和Anolis Os8.6QU1(Linux)系统中安装部署成功。

注:必须保证应用所在服务器和onlyoffice插件所在服务器的网络互相能够ping通。

二、Win10安装

三、Anolis Os8.6QU1安装(CentOS可用)

四、常用docker命令

进入容器查看OnlyOffice日志:

sudo docker exec -it onlyoffice /bin/bash tail -f /var/log/onlyoffice/documentserver/docservice/out.log 

五、遇到的问题及解决方法

  1. OnlyOffice打开文档,显示文档安全令牌未正确形成。
    原因:
    OnlyOffice从7.2版本开始,默认情况下启用了JWT,相当于加了个密钥,客户端和服务器同一个密钥才能使用。
    解决方法:
    工作时间紧迫,学习了修改密钥的方法后,重新启动容器又变回去了,加之笔者工作对于OnlyOffice的版本没有严格要求,故直接下载了7.2前的版本。

  2. OnlyOffice提示下载失败
    原因一:
    docker node js无法对客户端自签名证书进行认证。
    解决方法:
    进入onlyoffice容器并修改onlyoffice的default.json文件:
    路径:/etc/onlyoffice/documentserver/default.json
    查找“rejectUnauthorized"设置项,并将其值更改为“false”。

     "requestDefaults": { "headers": { "User-Agent": "Node.js/6.13" }, "rejectUnauthorized": false }, 

    原因二:
    应用服务器与插件所在服务器网络不通。
    解决方法:
    检查网络。根据具体情况配置,看两台服务器的防火墙端口是否关闭、是否允许其他计算机ping等问题。

    原因三:
    无法解析127.0.0.1。
    解决方法一:
    不使用127.0.0.1或localhost,使用应用服务器ip登录跳转。
    解决方法二:(注:笔者未使用过,慎重实验
    见笔者另一篇博客。OnlyOffice插件报错下载失败

  3. OnlyOffice提示:这份文件无法保存。请检查连接设置或联系您的管理员当你点击“OK“按钮,系统将提示您下载文档。
    原因:
    onlyoffice docker容器内部访问不了应用服务器上文档的域名 (域名是内网dns解析的,非公网),缺少dns解析,所以onlyoffice跟调用系统无法通信。
    测试方法:在容器中 curl 文档系统的地址。
    例:

    docker exec -it office /bin/bash curl file.com:8888 

    如果没有正常返回,说明该域名在容器里访问不了。
    解决方法:
    不使用127.0.0.1或localhost,使用应用服务器ip登录跳转,或采用nginx反向代理,较为彻底地解决这个问题,见笔者的另一篇博客OnlyOffice插件打开文档时提示下载失败

六、参考文档

原文链接:https://blog.csdn.net/qq_44163117/article/details/133761652?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836883916800178536146%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836883916800178536146&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-30-133761652-null-null.nonecase&utm_term=docker%E9%83%A8%E7%BD%B2

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享