目錄
1.Docker安裝kkfileview
2.kkfileview在docker部署后預覽出現(xiàn)預覽中的字體樣式與源文件不同的解決辦法
2.1. 物理機或虛擬機上運行?
2.2. Docker容器環(huán)境環(huán)境運行?
3.docker中更改kkfileview的配置文件application.properties
4.如何水印文本內(nèi)容動態(tài)傳值
動態(tài)水印
靜態(tài)水印
5.擴展漏洞,修復
5.1 延伸:升級到4.1.0 版本后,提示限制目錄運行
6.添加Office支持
1.Docker安裝kkfileview
2.kkfileview在docker部署后預覽出現(xiàn)預覽中的字體樣式與源文件不同的解決辦法
由于在docker中每個容器都是獨立的,存在此問題是因為部署docker后在容器中并沒有對應的字體樣式,因此會出現(xiàn)此問題,解決此問題的辦法是將系統(tǒng)中的字體目錄映射到kkfileview啟動容器中的目錄,以linux服務器為例,按照官網(wǎng)的部署方式:
2.1. 物理機或虛擬機上運行 #
從 碼云發(fā)行版本 下載最新版發(fā)行包
解壓kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包)
打開解壓后文件夾的bin目錄,運行startup腳本(Windows下以管理員身份運行startup.bat,Linux以root用戶運行startup.sh)
瀏覽器訪問本機8012端口 http://127.0.0.1:8012 即可看到項目演示用首
2.2. Docker容器環(huán)境環(huán)境運行 #
拉取鏡像
docker pull keking/kkfileview
原運行方式:
docker run -it -p 8012:8012 keking/kkfileview
修改為:
下載如下字體包 http://kkfileview.keking.cn/fonts.zip 文件解壓完整拷貝到Linux下的 /usr/share/fonts目錄。然后依次執(zhí)行命令:mkfontscale 、mkfontdir 、fc-cache使字體生效
運行docker時,將其目錄映射到容器中
運行方式修改為:
docker run -it -p 8012:8012 -d --privileged=true -v /usr/share/fonts/:/usr/share/fonts keking/kkfileview
瀏覽器訪問容器8012端口 http://xxx.xxx.xxx.xxx:8012 即可看到項目演示用首頁
3.docker中更改kkfileview的配置文件application.properties
項目需要對kkfile指定預覽文件的路徑地址,需要在docker中更改或者外掛新的配置文件.
docker中kkfileview的配置文件地址為/opt/kkFileView-xxx/config(xxx為kkfileview的版本號,看你安裝的是什么版本,比如我的是/opt/kkFileView-3.5.1/config)
修改該配置文件功能,如:水印,控制下載,預覽等
docker 啟動時外掛配置文件方式
run命令后面加上 -v (新的配置文件地址):/opt/kkFileView-3.5.1/config/application.properties
【注】一般容器里面的 Linux是精簡版的,沒有 less 、cat 、vim/vi 等命令,如果需要的話可以自己安裝,默認自帶 APT 命令。
APT安裝vim,先進入需要安裝的容器(docker exec -it 容器標識 bash ),再執(zhí)行如下命令:
更新:
apt update
安裝vim:
apt-get install vim
4.如何水印文本內(nèi)容動態(tài)傳值
動態(tài)水?。?/h4>
在預覽url后面加上參數(shù)&watermarkTxt即可
var url = ‘http://127.0.0.1:8080/file/test.txt’;
//要預覽文件的訪問地址
window.open(‘http://127.0.0.1:8012/onlinePreview?url=’ + encodeURIComponent(url) + ‘&watermarkTxt=’ + encodeURIComponent(‘動態(tài)水印’));
靜態(tài)水?。?/h4>
直接在application.properties配置文件中修改:watermark.txt = ${WATERMARK_TXT:我的水印}
5.擴展漏洞,修復:
kkFileView-4.0.0及以前的版本,存在任意目錄訪問漏洞;建議升級到kkFileView-4.1.0及++版本;
漏洞復現(xiàn):
http://localhost:8012/getCorsFile?urlPath=file:///etc/passwd
5.1 延伸:升級到4.1.0 版本后,提示限制目錄運行:
路徑加一個斜杠/,成功突破目錄限制預覽,但是暴500錯誤,
file:///etc/passwd 也是 500;base64也是 500。?
應該目錄限制是突破了,這個500錯誤暫時不清楚情況。
好像全站不支持腳本運行,附件上傳默認上傳到tmp目錄,可以上傳/etc/passwd.jsp 然后預覽會在 tmp上級目錄上傳一個passwd.jsp,但是繼續(xù)跳轉(zhuǎn)目錄不能成功。
?
6.添加Office支持:
首先安裝 開源OFFICE?openoffice或LibreOffice 建議安裝LibreOffice;
LibreOffice或OpenOffice(Windows下已內(nèi)置,CentOS或Ubuntu下會自動下載安裝,MacOS下需要自行安裝)。
修改kkfileview配置參數(shù) :?office.home
cd kkFileView-4.1.0/config/application.properties
# 說明:加粗標識具體情況修改
server.port = ${KK_SERVER_PORT:8012}
#文件資源路徑
file.dir = ${KK_FILE_DIR:/data/app/kkfileview/kkFileView-4.1.0/temp}
###################### office-plugin #####################
##office服務的進程數(shù),默認開啟兩個進程
office.plugin.server.ports = 2021,2022
#office組件home路徑, Linux查看路徑:which libreoffice*
# linux中目錄是/opt/libreoffice7.1,差異版本不同
office.home = ${KK_OFFICE_HOME:/opt/libreoffice7.4}
?如果本地沒有安裝libreoffice,則參考:
鏈接地址1,鏈接地址2,鏈接地址3最全
Windows環(huán)境開發(fā)參考鏈接, 前端應用鏈接
如果本篇文章對你有幫助的話,很高興能夠幫助上你。文章來源:http://www.zghlxwxcb.cn/news/detail-500607.html
當然,如果你覺得文章有什么讓你覺得不合理、或者有更簡單的實現(xiàn)方法又或者有理解不來的地方,希望你在看到之后能夠在評論里指出來,我會在看到之后盡快的回復你。文章來源地址http://www.zghlxwxcb.cn/news/detail-500607.html
到了這里,關于Docker安裝kkfileview,kkfileview在docker部署后預覽出現(xiàn)預覽中的字體樣式與源文件不同的解決辦法,動態(tài)水印的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!