java整合onlyoffice的各种坑

文章介绍了在项目中集成OnlyOffice在线预览文件服务时遇到的问题,包括docker访问主机IP问题、服务启动失败、JWT认证问题以及HTTPS证书问题,并提供了相应的解决方案,如修改配置文件、启动参数和自签证书步骤。同时,文章提及了官方Javademo的版本兼容性问题。
摘要由CSDN通过智能技术生成

项目场景:

引入在线预览文件的服务(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

其他小伙伴如有问题讨论可发私信。

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
springboot整合onlyoffice可以按照以下步骤进行: 1. 首先,需要在springboot项目中添加onlyoffice的依赖包。可以通过在pom.xml文件中添加以下依赖来实现: ```xml <dependency> <groupId>com.onlyoffice</groupId> <artifactId>onlyoffice-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency> ``` 2. 在application.properties或application.yml文件中配置onlyoffice的相关参数,包括服务地址、端口号等。例如: ```properties onlyoffice.url=http://localhost:9000 onlyoffice.port=8088 ``` 3. 创建一个Controller类,用于处理与onlyoffice相关的请求。可以使用@RestController注解来实现一个简单的RESTful接口。例如: ```java @RestController public class OnlyOfficeController { @GetMapping("/download") public String downloadFile() { // 实现下载文件的逻辑 return "下载文件成功"; } // 实现其他与onlyoffice相关的接口 // ... } ``` 4. 在Controller中实现与onlyoffice的各种接口逻辑。根据你的需求,可以实现文件上传、文件编辑、文件保存等功能。可以参考onlyoffice的文档来了解具体的接口要求和参数配置。 5. 启动springboot应用程序,访问相应的接口即可实现与onlyoffice整合。 需要注意的是,整合onlyoffice时,还需要根据你的具体业务需求,配置onlyoffice服务器的相关参数,如字体、文件存储路径等。这些参数可以在onlyoffice的管理端进行设置。 参考资料: 访问http://localhost:9000/进行管理端初始化设置 /download 下载文件接口,onlyoffice需要的接口之一 首先需要遵循onlyoffice文档中的前端文档要求<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot集成onlyoffice实现word文档编辑保存](https://blog.csdn.net/u013407099/article/details/127036164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [基于springboot二次开发onlyoffice的Demo](https://blog.csdn.net/daydaydaydaynight/article/details/118404956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值