java整合onlyoffice的各种踩坑记录

 更新时间:2023年07月31日 10:27:56   作者:Ntotl_  
这篇文章主要给大家介绍了关于java整合onlyoffice的各种踩坑,OnlyOffice是一种强大的在线协作软件,专为企业和个人设计,文中通过代码介绍的非常详细,需要的朋友可以参考下

项目场景:

引入在线预览文件的服务(onlyoffice),集成在自己项目之中,实现多种文件格式的在线预览。

问题描述

前提:

1、根据官方建议,实现onlyoffice服务的安装。

2、由于其服务依赖很多组件,官方建议docker安装,安装好后,启动,先看能不能访问到。成功后能够访问到如下页面,说明服务启动成功。

3、选择版本,7.2以下的版本默认不开启jwt访问,但7.2以上默认开启jwt。

4、官方给了java2个demo版本去适配onlyoffice的服务。

        1)java spring demo 用了jdk17,功能强大。后台是springboot+前端html

        2)java demo 用了jdk8,功能比上面版本少很多,看似不强大,后台是spring+前端jsp。

而且好像适配7.2版本的话是有bug的,已在官网问了很多问题。注意:这个demo里面的version是1.5.1,不知道以后官网还会更新不。下面的内容会详细说。

如果各位的项目需要集成的话,首选java spring demo,目前没测过什么bug。 

问题1:docker无法访问主机Ip

前提:如果自身服务和onlyoffice在同一台机器。

若主机开了防火墙,则需要对dokcer里面的ip放行,可进去docker容器查看、需要对这个ip放行

问题2:docker运行时,onlyoffice无法启动组件服务

docker 日志为:Waiting for connection to the localhost host on port 5432

前提:适配各种操作系统,启动的时候,doker run 最好加权限参数,不然导致onlyoffice里面的服务无法启动,这个真的恶心,当时适配国产操作系统一直不行,同样的命令centos和其他liunx系统都行。如果启动不成功,可以试下 docker run --privileged=true

问题3:7.2版本以上java demo版本无法使用秘钥访问。

打开文档页面错误: The document security token is not correctly formed. Please contact your document server administrator

没有通过代码解决,java demo貌似有bug(version:1.5.1),此处只能修改服务器配置,禁用jwt。

二种方式,推荐第二种

1、修改docker里面onlyoffice的文件,路径为 /etc/onlyoffice/documentserver/local.json

将local.json里面 的token下的inbox、outbox、browser值改为false。

"token": { "enable": { "request": { "inbox": false, "outbox": false }, "browser": false },

然后重启下服务。命令:systemctl restart ds-*

2、docker 启动时候,加参数  -e JWT_ENABLED=false

问题4:使用https方式启动onlyoffice,打开文件报错

这里给出完整步骤解决打不开的问题,主要是因为证书不可靠(自己生成的证书)

1、启动命令:sudo docker run -i -t -d  -p 80:443 --restart=always onlyoffice/documentserver:7.2

2、进入容器:docker exec -it 容器id /bin/bash

3、进入目录: cd /var/www/onlyoffice/Data

4、创建文件夹: mkdir certs

5、进入certs:cd certs

6、依次执行如下命令:

        1)、openssl genrsa -out onlyoffice.key 2048

        2)、openssl req -new -key onlyoffice.key -out onlyoffice.csr

        3)、openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

        4)、openssl dhparam -out dhparam.pem 2048

7、编辑文件 /etc/onlyoffice/documentserver/default.json 修改参数 rejectUnauthorized为false后保存,执行命令supervisorctl restart all

8、退出容器,重启。

总结:

提示:提供1个官网提issue的链接问题,如果在集成的时候遇到问题,可参考。

The document security token is not correctly formed. Please contact your document server administrator - #19 by Constantine - Docs - ONLYOFFICE

到此这篇关于java整合onlyoffice的各种踩坑的文章就介绍到这了,更多相关java整合onlyoffice的坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Mybatis拦截器实现自定义需求

    Mybatis拦截器实现自定义需求

    本文主要介绍了Mybatis拦截器实现自定义需求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Mybatis-Plus条件构造器select方法返回指定字段方式

    Mybatis-Plus条件构造器select方法返回指定字段方式

    这篇文章主要介绍了Mybatis-Plus条件构造器select方法返回指定字段方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题

    关于SpringBoot整合redis使用Lettuce客户端超时问题

    使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用,纠结是什么原因导致的呢,下面小编给大家带来了SpringBoot整合redis使用Lettuce客户端超时问题及解决方案,一起看看吧
    2021-08-08
  • 总结一下Java回调机制的相关知识

    总结一下Java回调机制的相关知识

    今天给大家带来的是关于Java的相关知识,文章围绕着Java回调机制展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • RabbitMq中channel接口的几种常用参数详解

    RabbitMq中channel接口的几种常用参数详解

    这篇文章主要介绍了RabbitMq中channel接口的几种常用参数详解,RabbitMQ 不会为未确认的消息设置过期时间,它判断此消息是否需要重新投递给消费者的唯一依据是消费该消息的消费者连接是否己经断开,需要的朋友可以参考下
    2023-08-08
  • SpringBoot获取http数据、打印HTTP参数的4种方式

    SpringBoot获取http数据、打印HTTP参数的4种方式

    Java的话本地打断点可以调试获取rest入参,但是在生产环境可能我们获取入参(Http header/parameter)可能就没有那么的轻松了,所以本文给大家介绍了SpringBoot获取http数据、打印HTTP参数的4种方式,需要的朋友可以参考下
    2024-03-03
  • Mybatis中typeAliases的使用

    Mybatis中typeAliases的使用

    这篇文章主要介绍了Mybatis中typeAliases的使用,需要的朋友可以参考下
    2017-08-08
  • shiro与spring集成基础Hello案例详解

    shiro与spring集成基础Hello案例详解

    这篇文章主要介绍了shiro与spring集成基础Hello案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • MyBatisPlus代码生成器的使用示例

    MyBatisPlus代码生成器的使用示例

    本文主要介绍了MyBatisPlus代码生成器的使用示例,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,感兴趣的可以了解一下
    2021-12-12
  • 详解SpringBoot可执行Jar包运行原理

    详解SpringBoot可执行Jar包运行原理

    SpringBoot有一个很方便的功能就是可以将应用打成可执行的Jar,那么大家有没想过这个Jar是怎么运行起来的呢,本篇博客就来介绍下 SpringBoot可执行Jar包的运行原理,需要的朋友可以参考下
    2023-05-05

最新评论