KKFileView v4.4.0文件预览服务 编译和window运行和nginx代理设置
目录
一、拉取代码
二、编译打包
三、测试使用
四、实际使用
五、其他问题
本文记录,使用最新v4.4.0版本KKFileView源代码,在本地window上搭建文件预览服务,并通过nginx反向代理实现https访问。
一、拉取代码
从官网github上下载源代码,我这里使用是v4.4.0-beta
https://github.com/kekingcn/kkFileView/releases
将zip文件放到D盘根目录进行解压,检查server文件夹是否存在,我们需要在这个文件夹下进行maven编译打包
二、编译打包
电脑需要安装apache maven并配置好MAVEN_HOME环境变量,是否无法识别mvn命令
通过CMD进入刚刚server文件夹所在目录
执行maven下面的命令进行编译打包
mvn clean package -Dmaven.test.skip=true
下面是下载依赖自动打包的过程,中途保证联网正常,出现success表示成功!
在刚刚项目的target文件夹可以找到生成Windows和Linux的压缩包。
三、测试使用
windows上使用
找到生成的kkFileView-4.4.0-beta.zip文件,解压后双击bin目录下的startup.bat即启动项目
访问http://localhost:8012出现以下界面(4.4.0)即是成功,详细使用参考官方文档
四、Nginx代理配置
如果需要使用nginx设置反向代理使用,为了防止出现路径404的问题,需要修改kkFileView的配置文件中的 基础路径配置。
Win版本配置文件在 kkFileView-4.4.0-beta\config\下的application.properties
1.修改server.servlet.context-path,添加基础路径
# 修改内容
#server.servlet.context-path= ${KK_CONTEXT_PATH:/}
server.servlet.context-path= ${KK_CONTEXT_PATH:/preview}
2.修改base.url,修改为你的反向代理地址
#提供预览服务的地址,默认从请求url读,如果使用nginx等反向代理,需要手动设置
#base.url = https://file.keking.cn
#base.url = ${KK_BASE_URL:default}
# 修改内容
base.url = https://kkfileview.test.com/preview/
3.nginx配置
在location位置添加
# KKFileView
location /preview/ {
# 本地运行的kkFileView的地址
proxy_pass http://127.0.0.1:8012;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 独立日志
access_log logs/preview-access.log;
}
修改后,实际项目地址变成了 http://127.0.0.1:8012/preview/
修改后,Nginx反向代理地址 https://kkfileview.test.com/preview/
四、实际使用
预览文件代码片段
var url = 'http://xxx.xx.xx.xx/test.txt'; //要预览文件的访问地址
window.open('https://kkfileview.test.com/preview/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl)));
五、其他问题
预览问题出现kkilfeview预览源文件来自不受信任的站点
在application.properties中添加信任站点
#信任站点,多个用','隔开,设置了之后,会限制只能预览来自信任站点列表的文件,默认不限制
#trust.host = kkview.cn
#trust.host = ${KK_TRUST_HOST:default}
# 修改内容
trust.host = 192.168.31.100 , xxxx-local.oss-cn-beijing.aliyuncs.com