java整合onlyoffice的各種踩坑記錄
項(xiàng)目場景:
引入在線預(yù)覽文件的服務(wù)(onlyoffice),集成在自己項(xiàng)目之中,實(shí)現(xiàn)多種文件格式的在線預(yù)覽。
問題描述
前提:
1、根據(jù)官方建議,實(shí)現(xiàn)onlyoffice服務(wù)的安裝。
2、由于其服務(wù)依賴很多組件,官方建議docker安裝,安裝好后,啟動(dòng),先看能不能訪問到。成功后能夠訪問到如下頁面,說明服務(wù)啟動(dòng)成功。
3、選擇版本,7.2以下的版本默認(rèn)不開啟jwt訪問,但7.2以上默認(rèn)開啟jwt。
4、官方給了java2個(gè)demo版本去適配onlyoffice的服務(wù)。
1)java spring demo 用了jdk17,功能強(qiáng)大。后臺(tái)是springboot+前端html
2)java demo 用了jdk8,功能比上面版本少很多,看似不強(qiáng)大,后臺(tái)是spring+前端jsp。
而且好像適配7.2版本的話是有bug的,已在官網(wǎng)問了很多問題。注意:這個(gè)demo里面的version是1.5.1,不知道以后官網(wǎng)還會(huì)更新不。下面的內(nèi)容會(huì)詳細(xì)說。
如果各位的項(xiàng)目需要集成的話,首選java spring demo,目前沒測過什么bug。
問題1:docker無法訪問主機(jī)Ip
前提:如果自身服務(wù)和onlyoffice在同一臺(tái)機(jī)器。
若主機(jī)開了防火墻,則需要對(duì)dokcer里面的ip放行,可進(jìn)去docker容器查看、需要對(duì)這個(gè)ip放行
問題2:docker運(yùn)行時(shí),onlyoffice無法啟動(dòng)組件服務(wù)
docker 日志為:Waiting for connection to the localhost host on port 5432
前提:適配各種操作系統(tǒng),啟動(dòng)的時(shí)候,doker run 最好加權(quán)限參數(shù),不然導(dǎo)致onlyoffice里面的服務(wù)無法啟動(dòng),這個(gè)真的惡心,當(dāng)時(shí)適配國產(chǎn)操作系統(tǒng)一直不行,同樣的命令centos和其他liunx系統(tǒng)都行。如果啟動(dòng)不成功,可以試下 docker run --privileged=true
問題3:7.2版本以上java demo版本無法使用秘鑰訪問。
打開文檔頁面錯(cuò)誤: 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 啟動(dòng)時(shí)候,加參數(shù) -e JWT_ENABLED=false
問題4:使用https方式啟動(dòng)onlyoffice,打開文件報(bào)錯(cuò)
這里給出完整步驟解決打不開的問題,主要是因?yàn)樽C書不可靠(自己生成的證書)
1、啟動(dòng)命令: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個(gè)官網(wǎng)提issue的鏈接問題,如果在集成的時(shí)候遇到問題,可參考。
到此這篇關(guān)于java整合onlyoffice的各種踩坑的文章就介紹到這了,更多相關(guān)java整合onlyoffice的坑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot接收json數(shù)據(jù)時(shí),接收到空值問題
這篇文章主要介紹了springboot接收json數(shù)據(jù)時(shí),接收到空值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實(shí)例代碼
這篇文章主要介紹了Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01一文詳解Java17中LinkedList類的用法和應(yīng)用場景
LinkedList 是 Java 集合框架中基于雙向鏈表實(shí)現(xiàn)的類,實(shí)現(xiàn)了 List 和 Deque 接口,本文將為大家介紹一下它在Java 17 中如何更高效的使用吧2025-03-03SpringBoot對(duì)接AWS?S3實(shí)現(xiàn)上傳和查詢
AWS?S3是亞馬遜提供的一種對(duì)象存儲(chǔ)服務(wù),旨在提供可擴(kuò)展、高可用性和安全的數(shù)據(jù)存儲(chǔ)解決方案,本文我們就來看看SpringBoot如何對(duì)接AWS?S3實(shí)現(xiàn)上傳和查詢吧2025-02-02SpringBoot Maven打包如何根據(jù)環(huán)境排除文件
文章介紹了在SpringBoot項(xiàng)目中,根據(jù)不同的環(huán)境(開發(fā)、測試、生產(chǎn))進(jìn)行JSP文件打包處理的方法,通過配置`pom.xml`文件中的``標(biāo)簽,可以實(shí)現(xiàn)開發(fā)環(huán)境保留`index.jsp`文件,測試環(huán)境和生產(chǎn)環(huán)境排除該文件2024-12-12synchronized?和?Lock?的異同點(diǎn)(如何讓選擇)
這篇文章主要介紹了?synchronized和Lock的異同點(diǎn)(如何讓選擇),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09