mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-04-09 09:47:35 +00:00
544 lines
24 KiB
Java
544 lines
24 KiB
Java
####################################### 一、服务器基础配置(不可动态配置,需重启生效)#######################################
|
||
|
||
####################### 1.1 服务器网络配置 #######################
|
||
# 服务器端口号,默认8012,可通过环境变量 KK_SERVER_PORT 覆盖
|
||
# 修改端口后需重启服务生效
|
||
server.port = ${KK_SERVER_PORT:8012}
|
||
|
||
# 服务器上下文路径,默认为根路径,可通过环境变量 KK_CONTEXT_PATH 覆盖
|
||
# 示例:设置为 /preview 后,访问地址为 http://localhost:8012/preview
|
||
server.servlet.context-path = ${KK_CONTEXT_PATH:/}
|
||
|
||
# 服务器请求和响应编码字符集,设置为UTF-8以支持中文和国际化
|
||
server.servlet.encoding.charset = utf-8
|
||
|
||
####################### 1.2 服务器性能优化配置 #######################
|
||
# 启用GZIP压缩功能,减少网络传输数据量,提升页面加载速度
|
||
# 建议在生产环境中开启以节省带宽
|
||
server.compression.enabled = true
|
||
|
||
# 允许压缩的响应缓冲区最小字节数,默认为2048字节
|
||
# 小于此值的响应不压缩,避免小文件压缩反而增加开销
|
||
server.compression.min-response-size = 2048
|
||
|
||
# 支持GZIP压缩的MIME类型列表,包括常见的前端资源格式
|
||
# 可根据需要添加或删除特定的MIME类型
|
||
server.compression.mime-types = application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain,font/woff,application/font-woff,font/eot,image/svg+xml,image/x-icon
|
||
|
||
####################### 1.3 文件上传限制配置 #######################
|
||
# 单个文件上传最大限制,默认为500MB
|
||
# 根据业务需求和服务器内存大小调整
|
||
spring.servlet.multipart.max-file-size = 500MB
|
||
|
||
# 整个请求体(含多个文件)最大限制,默认为500MB
|
||
# 设置时应大于等于 max-file-size
|
||
spring.servlet.multipart.max-request-size = 500MB
|
||
|
||
####################### 1.4 FreeMarker模板引擎配置 #######################
|
||
# FreeMarker模板加载路径,默认为classpath下的web目录
|
||
# 模板文件应放置在此目录下
|
||
spring.freemarker.template-loader-path = classpath:/web/
|
||
|
||
# 是否启用模板缓存,开发环境建议设置为false,生产环境建议设置为true
|
||
# false: 每次请求都重新加载模板,便于调试
|
||
# true: 缓存模板,提升性能
|
||
spring.freemarker.cache = false
|
||
|
||
# 模板文件编码,设置为UTF-8以支持中文和国际化字符
|
||
spring.freemarker.charset = UTF-8
|
||
|
||
# 检查模板位置是否存在,启动时验证模板路径
|
||
spring.freemarker.check-template-location = true
|
||
|
||
# 模板内容类型,设置为HTML格式
|
||
spring.freemarker.content-type = text/html
|
||
|
||
# 将HTTP请求属性暴露给模板,便于模板访问请求参数、头部等信息
|
||
spring.freemarker.expose-request-attributes = true
|
||
|
||
# 将HTTP会话属性暴露给模板,便于模板访问会话数据
|
||
spring.freemarker.expose-session-attributes = true
|
||
|
||
# 设置模板中访问请求上下文的变量名
|
||
# 在模板中使用 ${request} 访问请求对象
|
||
spring.freemarker.request-context-attribute = request
|
||
|
||
# 模板文件后缀,默认为.ftl
|
||
# 模板文件应命名为 *.ftl
|
||
spring.freemarker.suffix = .ftl
|
||
|
||
####################### 1.5 Spring Boot健康监控配置 #######################
|
||
# 开启的健康检查端点,包括health、info、metrics
|
||
# health: 应用健康状态
|
||
# info: 应用基本信息
|
||
# metrics: 应用性能指标
|
||
management.endpoints.web.exposure.include = health,info,metrics
|
||
|
||
# 健康检查端点显示详细信息的策略,默认为always(总是显示)
|
||
# 生产环境建议设置为 when-authorized 或 never,避免敏感信息泄露
|
||
management.endpoint.health.show-details = always
|
||
|
||
# 启用默认的健康检查组件,监控应用核心组件状态
|
||
management.health.defaults.enabled = true
|
||
|
||
|
||
|
||
####################################### 二、Office文档处理配置(部分支持动态配置)#######################################
|
||
|
||
####################### 2.1 Office组件安装路径配置 #######################
|
||
# OpenOffice或LibreOffice安装路径,默认为default表示使用系统默认路径
|
||
# Windows示例(注意双反斜杠):C:\\Program Files (x86)\\OpenOffice 4
|
||
# Linux示例:/opt/libreoffice
|
||
# MacOS示例:/Applications/LibreOffice.app/Contents
|
||
office.home = ${KK_OFFICE_HOME:default}
|
||
|
||
####################### 2.2 Office转换服务配置 #######################
|
||
# Office转换服务监听的端口,默认开启两个进程分别监听2001和2002端口
|
||
# 多个端口用逗号分隔,系统会自动启动多个进程处理转换任务
|
||
office.plugin.server.ports = 2001,2002
|
||
|
||
# Office转换任务总超时时间,默认为5分钟
|
||
# 超过此时间的任务将被强制终止,释放资源
|
||
office.plugin.task.timeout = 5m
|
||
|
||
# Office进程在重启前可执行的最大任务数,默认为200
|
||
# 0表示无限,不重启。适当限制可避免内存泄漏
|
||
office.plugin.task.maxtasksperprocess = 200
|
||
|
||
# Office任务执行超时时间,默认为5分钟
|
||
# 单个任务处理超过此时间将被中止,处理下一个任务
|
||
office.plugin.task.taskexecutiontimeout = 5m
|
||
|
||
####################### 2.3 Office转换参数配置(支持动态更新)#######################
|
||
# 是否启用Office文档分页转换,默认为false(转换全部页面)
|
||
# 可设置为页面范围,如"1-5"表示只转换前5页
|
||
office.pagerange = ${KK_OFFICE_PAGERANGE:false}
|
||
|
||
# 是否启用Office文档水印功能,默认为false(不启用)
|
||
# 启用后会在转换的图片或PDF上添加水印
|
||
office.watermark = ${KK_OFFICE_WATERMARK:false}
|
||
|
||
# Office文档转图片的JPEG压缩质量,范围1-100,默认80
|
||
# 值越高图片质量越好但文件越大,建议80-90之间
|
||
office.quality = ${KK_OFFICE_QUALITY:80}
|
||
|
||
# Office文档转图片的最大分辨率DPI,默认150
|
||
# 值越高图片越清晰但文件越大,转换时间越长
|
||
# 建议范围:72(屏幕显示)-300(打印质量)
|
||
office.maximageresolution = ${KK_OFFICE_MAXIMAGERESOLUTION:150}
|
||
|
||
# 是否导出Office文档中的书签到PDF,默认为true(导出)
|
||
# 保留书签可方便PDF文档导航
|
||
office.exportbookmarks = ${KK_OFFICE_EXPORTBOOKMARKS:true}
|
||
|
||
# 是否将Office文档中的批注作为PDF注释导出,默认为true(导出)
|
||
# 保留批注便于文档审阅
|
||
office.exportnotes = ${KK_OFFICE_EXPORTNOTES:true}
|
||
|
||
# 加密文档生成的PDF是否添加密码,默认为true(添加)
|
||
# 密码为原始加密文档的密码,增强文档安全性
|
||
office.documentopenpasswords = ${KK_OFFICE_DOCUMENTOPENPASSWORD:true}
|
||
|
||
# Excel文档(xlsx)的前端解析方式,默认为web(Web端解析)
|
||
# web: 使用前端SheetJS库解析,减轻服务器压力
|
||
# image: 服务器转换为图片,兼容性更好
|
||
office.type.web = ${KK_OFFICE_TYPE_WEB:web}
|
||
|
||
|
||
|
||
####################################### 三、文件存储与缓存配置 #######################################
|
||
|
||
####################### 3.1 文件存储路径配置 #######################
|
||
# 预览生成资源的存储路径,默认为应用根路径下的file目录
|
||
# Windows示例:D:\\kkFileview\\(注意双反斜杠)
|
||
# Linux示例:/opt/kkfileview/file/
|
||
# 重要:确保应用有该目录的读写权限
|
||
file.dir = ${KK_FILE_DIR:default}
|
||
|
||
# 允许预览的本地文件夹路径,默认为default(禁止所有本地文件预览)
|
||
# ⚠️ 安全警告:配置此路径可能允许访问系统文件,请谨慎配置
|
||
# Windows示例(注意前面加反斜杠):\D:\\kkFileview\\1\\1.txt
|
||
# Linux示例(注意前面加正斜杠):/opt/1.txt
|
||
# 使用file协议访问:file://d:/1/1.txt(Windows)或 file:/opt/1/1.txt(Linux)
|
||
local.preview.dir = ${KK_LOCAL_PREVIEW_DIR:default}
|
||
|
||
####################### 3.2 缓存核心配置 #######################
|
||
# 是否启用缓存功能,默认为true(启用)
|
||
# 启用缓存可显著提升重复文件的预览速度
|
||
cache.enabled = ${KK_CACHE_ENABLED:true}
|
||
|
||
# 缓存实现类型,默认为jdk(使用JDK内置对象实现)
|
||
# 可选值:
|
||
# jdk: JDK内置ConcurrentHashMap,单机部署推荐
|
||
# redis: Redis分布式缓存,集群部署推荐
|
||
# default: 内嵌RocksDB,支持持久化
|
||
cache.type = ${KK_CACHE_TYPE:jdk}
|
||
|
||
####################### 3.3 Redis缓存详细配置(仅当cache.type=redis时生效)#######################
|
||
# Redis部署模式,默认为single(单机模式)
|
||
# 可选值:
|
||
# single: 单机模式(默认)
|
||
# cluster: 集群模式
|
||
# sentinel: 哨兵模式(高可用)
|
||
# master-slave: 主从模式
|
||
spring.redisson.mode = single
|
||
|
||
# Redis连接地址,支持多种格式:
|
||
# 单机模式:redis://127.0.0.1:6379
|
||
# 集群模式:redis://node1:6379,redis://node2:6379,redis://node3:6379
|
||
# 哨兵模式:redis://sentinel1:26379,redis://sentinel2:26379
|
||
spring.redisson.address = ${KK_SPRING_REDISSON_ADDRESS:redis://127.0.0.1:6379}
|
||
|
||
# Redis连接密码,无密码时留空
|
||
# 注意:密码包含特殊字符时需使用URL编码
|
||
spring.redisson.password = ${KK_SPRING_REDISSON_PASSWORD:}
|
||
|
||
# Redis数据库索引,默认为0(0-15)
|
||
# 不同业务可使用不同数据库隔离
|
||
spring.redisson.database = ${KK_SPRING_REDISSON_DATABASE:0}
|
||
|
||
####################### 3.4 缓存维护配置 #######################
|
||
# 是否启用缓存自动清理,默认为true(启用)
|
||
# 定期清理过期缓存,避免磁盘空间无限增长
|
||
cache.clean.enabled = ${KK_CACHE_CLEAN_ENABLED:true}
|
||
|
||
# 缓存自动清理时间,使用Quartz cron表达式,默认为每天凌晨3点执行
|
||
# 表达式格式:秒 分 时 日 月 周 年(可选)
|
||
# 0 0 3 * * ? 表示每天3:00:00执行清理
|
||
cache.clean.cron = ${KK_CACHE_CLEAN_CRON:0 0 3 * * ?}
|
||
|
||
|
||
|
||
####################################### 四、安全与访问控制配置(支持动态配置)#######################################
|
||
|
||
####################### 4.1 服务地址配置 #######################
|
||
# 提供预览服务的完整地址,默认从请求URL自动获取
|
||
# 当使用Nginx等反向代理时,必须手动设置此地址
|
||
# 示例:https://file.keking.cn
|
||
# 示例:http://192.168.1.100:8012
|
||
base.url = ${KK_BASE_URL:default}
|
||
|
||
####################### 4.2 信任主机白名单配置(重要安全配置)#######################
|
||
# 信任站点白名单配置,多个域名用逗号隔开
|
||
# ⚠️ 安全提示:为防止SSRF(服务器端请求伪造)攻击,必须配置信任主机
|
||
# ⚠️ 如果不配置,系统将默认拒绝所有外部文件预览请求
|
||
#
|
||
# 配置示例:
|
||
# trust.host = kkview.cn,yourdomain.com,cdn.example.com,192.168.1.*
|
||
#
|
||
# 支持通配符:
|
||
# * 匹配所有字符
|
||
# ? 匹配单个字符
|
||
# 192.168.* 匹配192.168开头的所有IP
|
||
#
|
||
# 当前配置:允许所有域名(仅建议测试环境使用,生产环境必须修改)
|
||
trust.host = *
|
||
|
||
####################### 4.3 不信任主机黑名单配置 #######################
|
||
# 不信任站点黑名单配置,多个用逗号隔开
|
||
# 黑名单优先级高于白名单,设置后将禁止预览来自这些站点的文件
|
||
# 建议配置:禁止访问内网地址和本地地址,防止内部信息泄露
|
||
#
|
||
# 配置示例:
|
||
# not.trust.host = localhost,127.0.0.1,0.0.0.0,192.168.*,10.*,172.16.*,172.17.*,172.18.*,172.19.*,172.20.*,172.21.*,172.22.*,172.23.*,172.24.*,172.25.*,172.26.*,172.27.*,172.28.*,172.29.*,172.30.*,172.31.*
|
||
not.trust.host = ${KK_NOT_TRUST_HOST:default}
|
||
|
||
####################### 4.4 文件类型安全限制 #######################
|
||
# 禁止上传和预览的文件类型,多个用逗号隔开
|
||
# 默认禁止可执行文件和系统文件,防止恶意文件上传
|
||
# exe: Windows可执行文件
|
||
# dll: Windows动态链接库
|
||
# dat: 数据文件(可能包含敏感信息)
|
||
prohibit = ${KK_PROHIBIT:exe,dll,dat}
|
||
|
||
|
||
|
||
####################################### 五、文件格式与预览配置(支持动态配置)#######################################
|
||
|
||
####################### 5.1 文本文件类型配置 #######################
|
||
# 支持的文本文件类型,多个用逗号隔开
|
||
# 这些文件将直接在前端以文本形式展示,无需转换
|
||
# 默认支持常见编程语言、配置文件和文档格式
|
||
simText = ${KK_SIMTEXT:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd}
|
||
|
||
####################### 5.2 多媒体文件类型配置 #######################
|
||
# 支持的媒体文件类型,多个用逗号隔开
|
||
# 这些文件将使用HTML5原生播放器或转换后播放
|
||
# 默认支持主流音频、视频和流媒体格式
|
||
media = ${KK_MEDIA:mp3,wav,mp4,flv,mpd,m3u8,ts,mpeg,m4a}
|
||
|
||
# 支持格式转换的视频类型,多个用逗号隔开
|
||
# 这些格式的视频将被转换为mp4格式以确保浏览器兼容性
|
||
# ⚠️ 视频转换消耗资源较大,建议根据服务器性能配置
|
||
convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm,mpeg}
|
||
|
||
####################### 5.3 图片文件类型配置 #######################
|
||
# TIF/TIFF格式图片预览模式,可选值:jpg、pdf
|
||
# tif: 使用前端Tiff.js插件直接浏览(需要浏览器支持)
|
||
# jpg: 服务器转换为JPG格式后显示(兼容性好)
|
||
# pdf: 服务器转换为PDF格式显示(支持多页和打印)
|
||
tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif}
|
||
|
||
# CAD设计文件预览模式,可选值:tif、svg、pdf
|
||
# tif: 转换为TIFF格式,使用前端插件浏览
|
||
# svg: 转换为SVG矢量格式(缩放不失真)
|
||
# pdf: 转换为PDF格式(便于打印和标注)
|
||
cad.preview.type = ${KK_CAD_PREVIEW_TYPE:svg}
|
||
|
||
####################### 5.4 Office文档预览配置 #######################
|
||
# Office类型文档(Word、PPT、Excel)预览样式,可选值:image、pdf
|
||
# image: 转换为图片序列(兼容性好,支持水印)
|
||
# pdf: 转换为PDF格式(支持文本复制、打印)
|
||
# 用户可在预览界面切换模式(除非禁用切换开关)
|
||
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
|
||
|
||
# 是否关闭Office预览模式切换开关,默认为false(允许切换)
|
||
# 设置为true时,用户无法在图片和PDF模式间切换
|
||
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
|
||
|
||
####################### 5.5 PDF文档预览配置 #######################
|
||
# PDF文件预览安全限制配置
|
||
# 是否禁止PDF演示模式,默认为true(禁止)
|
||
pdf.presentationMode.disable = ${KK_PDF_PRESENTATION_MODE_DISABLE:true}
|
||
|
||
# 是否禁止PDF文件菜单中的"打开文件"选项,默认为true(禁止)
|
||
pdf.openFile.disable = ${KK_PDF_OPEN_FILE_DISABLE:true}
|
||
|
||
# 是否禁止PDF打印功能,默认为true(禁止)
|
||
pdf.print.disable = ${KK_PDF_PRINT_DISABLE:true}
|
||
|
||
# 是否禁止PDF下载功能,默认为true(禁止)
|
||
pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}
|
||
|
||
# 是否禁止PDF书签/大纲功能,默认为true(禁止)
|
||
pdf.bookmark.disable = ${KK_PDF_BOOKMARK_DISABLE:true}
|
||
|
||
# 是否禁止PDF编辑功能(注释、表单等),默认为false(允许编辑)
|
||
pdf.disable.editing = ${KK_PDF_DISABLE_EDITING:false}
|
||
|
||
####################### 5.6 水印配置 #######################
|
||
# 水印文本内容,为空表示不添加水印
|
||
# 示例:内部文件,严禁外泄
|
||
watermark.txt = ${WATERMARK_TXT:}
|
||
|
||
# 水印在X轴方向的间隔(像素),默认为10
|
||
# 值越小水印越密集,值越大水印越稀疏
|
||
watermark.x.space = ${WATERMARK_X_SPACE:10}
|
||
|
||
# 水印在Y轴方向的间隔(像素),默认为10
|
||
watermark.y.space = ${WATERMARK_Y_SPACE:10}
|
||
|
||
# 水印字体,默认为"微软雅黑"
|
||
# 注意:服务器需要安装对应字体,Linux服务器可能需要安装中文字体
|
||
watermark.font = ${WATERMARK_FONT:微软雅黑}
|
||
|
||
# 水印字体大小,默认为18px
|
||
# 建议根据水印文本长度调整
|
||
watermark.fontsize = ${WATERMARK_FONTSIZE:18px}
|
||
|
||
# 水印字体颜色,默认为black(黑色)
|
||
# 支持格式:颜色名(black, white, red等)、十六进制(#000000)、RGB(rgb(0,0,0))
|
||
watermark.color = ${WATERMARK_COLOR:black}
|
||
|
||
# 水印透明度,范围0.005-1,默认为0.2(20%不透明度)
|
||
# 值越小水印越淡,值越大水印越明显
|
||
watermark.alpha = ${WATERMARK_ALPHA:0.2}
|
||
|
||
# 单个水印块的宽度(像素),默认为180
|
||
# 需要根据水印文本长度调整
|
||
watermark.width = ${WATERMARK_WIDTH:180}
|
||
|
||
# 单个水印块的高度(像素),默认为80
|
||
watermark.height = ${WATERMARK_HEIGHT:80}
|
||
|
||
# 水印倾斜度数,范围0-90,默认为10度
|
||
# 0度:水平水印,90度:垂直水印
|
||
watermark.angle = ${WATERMARK_ANGLE:10}
|
||
|
||
# CAD文件是否添加水印,默认为true(启用)
|
||
cad.watermark = true
|
||
|
||
|
||
|
||
####################################### 六、性能与资源管理配置(支持动态配置)#######################################
|
||
|
||
####################### 6.1 线程池配置 #######################
|
||
# PDF转换最大并发线程数,默认为10
|
||
# 根据服务器CPU核心数调整:建议为核心数×2
|
||
pdf.max.threads = 10
|
||
|
||
# CAD转换线程数,默认为5
|
||
# CAD转换较耗时,不宜设置过高
|
||
cad.thread = ${KK_CAD_THREAD:5}
|
||
|
||
# TIF转换线程数,默认为5
|
||
tif.thread = 5
|
||
|
||
####################### 6.2 超时配置(按文件大小分类)#######################
|
||
# 是否启用视频转换超时控制,默认为true(启用)
|
||
media.timeout.enabled = true
|
||
|
||
# 视频文件大小分类及超时时间(单位:秒)
|
||
# 小文件(<50MB):30秒超时
|
||
media.small.file.timeout = 30
|
||
# 中等文件(50-150MB):60秒超时
|
||
media.medium.file.timeout = 60
|
||
# 大文件(150-300MB):180秒超时(3分钟)
|
||
media.large.file.timeout = 180
|
||
# 超大文件(300-600MB):300秒超时(5分钟)
|
||
media.xl.file.timeout = 300
|
||
# XXL文件(600-1200MB):600秒超时(10分钟)
|
||
media.xxl.file.timeout = 600
|
||
# XXXL文件(>1200MB):1200秒超时(20分钟)
|
||
media.xxxl.file.timeout = 1200
|
||
|
||
####################### 6.3 超时配置(按PDF页数分类)#######################
|
||
# PDF文件按页数分类的超时配置(单位:秒)
|
||
# 小文件(0-50页):90秒超时
|
||
pdf.timeout.small = 90
|
||
# 中等文件(51-200页):180秒超时(3分钟)
|
||
pdf.timeout.medium = 180
|
||
# 大文件(201-500页):300秒超时(5分钟)
|
||
pdf.timeout.large = 300
|
||
# 超大文件(>500页):600秒超时(10分钟)
|
||
pdf.timeout.xlarge = 600
|
||
|
||
# CAD转换超时时间,默认为90秒
|
||
cad.timeout = ${KK_CAD_TIMEOUT:90}
|
||
|
||
# TIF转换超时时间,默认为90秒
|
||
tif.timeout = 90
|
||
|
||
####################### 6.4 资源限制配置 #######################
|
||
# 视频转换最大文件大小限制(单位:MB),默认为300MB
|
||
# 超过此大小的视频文件禁止转换,避免服务器资源耗尽
|
||
media.convert.max.size = 300
|
||
|
||
# 是否禁用视频格式转换功能,默认为true(禁用)
|
||
# ⚠️ 重要:视频转换非常消耗CPU和内存资源
|
||
# 启用前确保:1)服务器性能充足 2)配置异步处理 3)增加线程池
|
||
media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:true}
|
||
|
||
####################### 6.5 DPI优化配置 #######################
|
||
# 是否启用PDF DPI智能调整,默认为true(启用)
|
||
# 根据PDF页数自动调整DPI,平衡清晰度和性能
|
||
pdf.dpi.enabled = true
|
||
|
||
# PDF转图片的基准DPI,默认为144
|
||
# 当DPI优化禁用时使用此值
|
||
pdf2jpg.dpi = ${KK_PDF2JPG_DPI:144}
|
||
|
||
# PDF按页数范围的DPI优化值
|
||
# 小文件(0-50页):150 DPI(高质量)
|
||
pdf.dpi.small = 150
|
||
# 中等文件(50-100页):120 DPI(平衡质量与性能)
|
||
pdf.dpi.medium = 120
|
||
# 大文件(100-200页):96 DPI(优化性能)
|
||
pdf.dpi.large = 96
|
||
# 超大文件(200-500页):72 DPI(快速转换)
|
||
pdf.dpi.xlarge = 72
|
||
# 巨量文件(>500页):72 DPI(最小资源消耗)
|
||
pdf.dpi.xxlarge = 72
|
||
|
||
|
||
|
||
####################################### 七、FTP文件访问配置(支持动态配置)#######################################
|
||
|
||
####################### 7.1 FTP连接认证配置 #######################
|
||
#FTP模块设置
|
||
#预览源为FTP时,可在ftp url后面加参数?ftp.username=ftpuser&ftp.password=123456&ftp.control.encoding=GBK,指定,不指定默认用配置的 (为了安全我们强烈建议在配置中设置相关信息)
|
||
#ftp.control.encodin (根据FTP服务器操作系统选择,Linux一般为UTF-8,Windows一般为GBK)
|
||
#使用方法,支持,分割第一个是域名或者IP地址后面是用户名在后面是密码,在后面是编码(用户名密码和编码用:分割, 域名用,分割),切记url不需要任何协议头
|
||
#ftp.username = 地址:端口:用户名:密码:编码,192.168.0.2:21:name:123456:UTF-8,www.xxx.com:21:admin:pass:UTF-8 多客户端,分割
|
||
#ftp.username =10.99.1.2:21:666:88888:GBK
|
||
ftp.username = false
|
||
|
||
|
||
|
||
####################################### 八、首页与文件管理配置(支持动态配置)#######################################
|
||
|
||
####################### 8.1 首页功能配置 #######################
|
||
# 是否禁用首页文件上传功能,默认为false(不禁用)
|
||
# 设置为true可关闭上传功能,仅用于预览
|
||
file.upload.disable = false
|
||
|
||
# 网站备案信息,显示在首页底部,默认为空
|
||
# 示例:京ICP备12345678号
|
||
beian = ${KK_BEIAN:default}
|
||
|
||
# 首页初始化加载的页码,默认为1(第一页)
|
||
home.pagenumber = ${DEFAULT_HOME_PAGENUMBER:1}
|
||
|
||
# 首页是否启用分页功能,默认为true(启用)
|
||
home.pagination = ${DEFAULT_HOME_PAGINATION:true}
|
||
|
||
# 首页每页显示的文件数量,默认为15
|
||
home.pagesize = ${DEFAULT_HOME_PAGSIZE:15}
|
||
|
||
# 首页是否显示搜索框,默认为true(显示)
|
||
home.search = ${DEFAULT_HOME_SEARCH:true}
|
||
|
||
####################### 8.2 文件删除安全配置 #######################
|
||
# 是否启用验证码验证删除文件,默认为false(不启用)
|
||
# 启用后删除文件需要输入验证码,防止误删
|
||
delete.captcha = ${KK_DELETE_CAPTCHA:false}
|
||
|
||
# 删除文件密码,默认为123456
|
||
# 删除文件时需要验证此密码(如果启用了验证码,两者都需要)
|
||
delete.password = ${KK_DELETE_PASSWORD:123456}
|
||
|
||
# 是否删除转换后的源文件,默认为true(删除)
|
||
# 启用可节约磁盘空间,但会丢失原始文件
|
||
# 注意:删除后无法重新转换,只能重新上传
|
||
delete.source.file = ${KK_DELETE_SOURCE_FILE:true}
|
||
|
||
|
||
|
||
####################################### 九、权限与认证配置(支持动态配置)#######################################
|
||
|
||
####################### 9.1 功能权限配置 #######################
|
||
# 是否启用图片预览权限,默认为true(启用)
|
||
# 设置为false可禁用所有图片预览功能
|
||
kk.Picturespreview = true
|
||
|
||
# 是否启用跨域文件获取权限,默认为true(启用)
|
||
# 设置为false可防止跨站请求伪造(CSRF)
|
||
kk.Getcorsfile = true
|
||
|
||
# 是否启用添加异步任务权限,默认为true(启用)
|
||
# 大文件转换通常使用异步任务处理
|
||
kk.addTask = true
|
||
|
||
# API密钥功能,默认为false(禁用)
|
||
# 启用后需要提供密钥才能调用API
|
||
kk.Key = false
|
||
|
||
####################### 9.2 加密与认证配置 #######################
|
||
# AES加密密钥,必须为16位字符
|
||
# 启用AES加密时,接入方需使用相同的密钥
|
||
# 用于敏感数据传输加密
|
||
ase.key = 1234567890123456
|
||
|
||
# Basic认证配置,格式:域名:用户名:密码,多个用逗号分隔
|
||
# 用于保护特定域名的访问
|
||
# 示例:192.168.0.1:admin:pass123,example.com:user:pass456
|
||
basic.name = 10.99.1.2:aaa:bbb
|
||
|
||
# User-Agent验证字符串,默认为99999
|
||
# 可用于简单的客户端验证
|
||
useragent = 99999
|
||
|
||
|
||
|
||
####################################### 十、高级功能与兼容性配置(支持动态配置)#######################################
|
||
|
||
####################### 10.1 SSL/TLS安全配置 #######################
|
||
# 是否忽略SSL证书验证,默认为true(忽略)
|
||
# 用于开发环境或自签名证书场景
|
||
# 生产环境建议设置为false,启用完整的证书验证
|
||
kk.ignore.ssl = true
|
||
|
||
####################### 10.2 重定向功能配置 #######################
|
||
# 是否启用URL重定向功能,默认为true(启用)
|
||
# 用于处理文件下载、外部资源引用等场景
|
||
kk.enable.redirect = true |