当前位置: 首页 > article >正文

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


http://www.kler.cn/a/374059.html

相关文章:

  • 某大型建设集团有限公司信息化技术方案(250页WORD)
  • vim命令及shell命令
  • etcd 备份还原
  • Flask
  • ETL集成工具丨如何运用ETLCloud单步调试断点功能
  • 【日常记录-Java】JarFile
  • 安科瑞Acrel-1000DP分布式光伏系统
  • <collection> 和 <association>的详细用法(附详细代码解析)
  • vue3+pinia实现状态管理和持久化存储
  • 工业网络监控中的IP保护与软件授权革新
  • [LeetCode] 494. 目标和
  • ffmpeg 提取mp4文件中的音频文件并保存
  • 重塑社区治理:王鹏谈Vitalik Buterin的去中心化理念
  • 前端如何解决浏览器input输入框密码自动填充的问题
  • 配置DDNS结合光猫路由器实现外网映射
  • Docker 60个常用命令汇总
  • springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38819)
  • 丢失有一段时间时的数据可以找回吗?可以!
  • Rust 知识的 20 道练习题和详细解答
  • 【JVM】——GC垃圾回收机制(图解通俗易懂)
  • nginx 路径匹配,关于“/“对规则的影响
  • 多厂商的实现不同vlan间通信
  • LLM速览篇【241-270】
  • 高效网络自动化:Python在网络基础中的应用
  • [论文精读]LoRA: Low-Rank Adaptation of Large Language Models
  • 【初阶数据结构与算法】新的旅程之时间复杂度和空间复杂度