java整合onlyoffice的各種踩坑記錄
項目場景:
引入在線預(yù)覽文件的服務(wù)(onlyoffice),集成在自己項目之中,實現(xiàn)多種文件格式的在線預(yù)覽。
問題描述
前提:
1、根據(jù)官方建議,實現(xiàn)onlyoffice服務(wù)的安裝。
2、由于其服務(wù)依賴很多組件,官方建議docker安裝,安裝好后,啟動,先看能不能訪問到。成功后能夠訪問到如下頁面,說明服務(wù)啟動成功。

3、選擇版本,7.2以下的版本默認(rèn)不開啟jwt訪問,但7.2以上默認(rèn)開啟jwt。
4、官方給了java2個demo版本去適配onlyoffice的服務(wù)。
1)java spring demo 用了jdk17,功能強(qiáng)大。后臺是springboot+前端html
2)java demo 用了jdk8,功能比上面版本少很多,看似不強(qiáng)大,后臺是spring+前端jsp。
而且好像適配7.2版本的話是有bug的,已在官網(wǎng)問了很多問題。注意:這個demo里面的version是1.5.1,不知道以后官網(wǎng)還會更新不。下面的內(nèi)容會詳細(xì)說。
如果各位的項目需要集成的話,首選java spring demo,目前沒測過什么bug。
問題1:docker無法訪問主機(jī)Ip
前提:如果自身服務(wù)和onlyoffice在同一臺機(jī)器。
若主機(jī)開了防火墻,則需要對dokcer里面的ip放行,可進(jìn)去docker容器查看、需要對這個ip放行
問題2:docker運行時,onlyoffice無法啟動組件服務(wù)
docker 日志為:Waiting for connection to the localhost host on port 5432
前提:適配各種操作系統(tǒng),啟動的時候,doker run 最好加權(quán)限參數(shù),不然導(dǎo)致onlyoffice里面的服務(wù)無法啟動,這個真的惡心,當(dāng)時適配國產(chǎn)操作系統(tǒng)一直不行,同樣的命令centos和其他liunx系統(tǒng)都行。如果啟動不成功,可以試下 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),此處只能修改服務(wù)器配置,禁用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 },
然后重啟下服務(wù)。命令:systemctl restart ds-*
2、docker 啟動時候,加參數(shù) -e JWT_ENABLED=false
問題4:使用https方式啟動onlyoffice,打開文件報錯
這里給出完整步驟解決打不開的問題,主要是因為證書不可靠(自己生成的證書)
1、啟動命令:sudo docker run -i -t -d -p 80:443 --restart=always onlyoffice/documentserver:7.2
2、進(jìn)入容器:docker exec -it 容器id /bin/bash
3、進(jìn)入目錄: cd /var/www/onlyoffice/Data
4、創(chuàng)建文件夾: mkdir certs
5、進(jìn)入certs:cd certs
6、依次執(zhí)行如下命令:
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 修改參數(shù) rejectUnauthorized為false后保存,執(zhí)行命令supervisorctl restart all
8、退出容器,重啟。
總結(jié):
提示:提供1個官網(wǎng)提issue的鏈接問題,如果在集成的時候遇到問題,可參考。
到此這篇關(guān)于java整合onlyoffice的各種踩坑的文章就介紹到這了,更多相關(guān)java整合onlyoffice的坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java創(chuàng)建對象的六種常用方式總結(jié)
作為Java開發(fā)者,經(jīng)常創(chuàng)建很多對象,你是否知道Java中創(chuàng)建對象有哪些方式呢?下面這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建對象的六種常用方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Java開發(fā)中常用的 Websocket 技術(shù)參考
WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù),當(dāng)然也支持客戶端發(fā)送數(shù)據(jù)到服務(wù)端。2020-09-09
SpringBoot3整合SpringCloud啟動后nacos報錯獲取不到配置、無法注冊服務(wù)的解決方案
文章介紹了如何使用Spring Boot 3.3.4和Spring Cloud 2023.0.3搭建微服務(wù)項目,并解決與Nacos服務(wù)注冊發(fā)現(xiàn)和配置中心的集成問題,主要解決了依賴版本不兼容、配置文件導(dǎo)入問題及服務(wù)注冊失敗等問題,感興趣的朋友跟隨小編一起看看吧2025-02-02

