• kkfile配置https预览文件


    同事找我说这个kkfile预览怎么配置到https下,同一个域名访问不会跨域。

    我想了下大概思路:

    1.kkfile的 context全局路径可以修改 context-path,比如:server.servlet.context-path

    2.使用nginx反向代理 /kkfile 转发到 kkfile路径上

    首页。查找官网教程

    ​​​​​​kkFileView - 在线文件预览

    常见问题清单也说了这个问题 

     然后配置nginx,配置反向代理 重启nginx,发现还是预览不了

    报了一个错误:

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    大概还是https 证书的问题,所以我就想是读取预览文件地址的问题,再看下教程

    确认就是这个配置的问题 base.url地址,我用的docker启动程序,修改对于的环境编辑即可

    KK_CONTEXT_PATH: /kkfile

    KK_BASE_URL http://IP:端口/kkfile

    1. #######################################不可动态配置,需要重启生效#######################################
    2. server.port = ${KK_SERVER_PORT:8012}
    3. server.servlet.context-path= ${KK_CONTEXT_PATH:/}
    4. server.servlet.encoding.charset = utf-8
    5. #文件上传限制
    6. spring.servlet.multipart.max-file-size=500MB
    7. spring.servlet.multipart.max-request-size=500MB
    8. ## Freemarker 配置
    9. spring.freemarker.template-loader-path = classpath:/web/
    10. spring.freemarker.cache = false
    11. spring.freemarker.charset = UTF-8
    12. spring.freemarker.check-template-location = true
    13. spring.freemarker.content-type = text/html
    14. spring.freemarker.expose-request-attributes = true
    15. spring.freemarker.expose-session-attributes = true
    16. spring.freemarker.request-context-attribute = request
    17. spring.freemarker.suffix = .ftl
    18. # office-plugin
    19. ## office转换服务的进程数,默认开启两个进程
    20. office.plugin.server.ports = 2001,2002
    21. ## office 转换服务 task 超时时间,默认五分钟
    22. office.plugin.task.timeout = 5m
    23. #预览生成资源路径(默认为打包根路径下的file目录下)
    24. #file.dir = D:\\kkFileview\\
    25. file.dir = ${KK_FILE_DIR:default}
    26. #允许预览的本地文件夹 默认不允许任何本地文件被预览
    27. #file.dir = D:\\kkFileview\\
    28. local.preview.dir = ${KK_LOCAL_PREVIEW_DIR:default}
    29. #openoffice home路径
    30. #office.home = C:\\Program Files (x86)\\OpenOffice 4
    31. office.home = ${KK_OFFICE_HOME:default}
    32. #缓存实现类型,不配默认为内嵌RocksDB(type = default)实现,可配置为redis(type = redis)实现(需要配置spring.redisson.address等参数)和 JDK 内置对象实现(type = jdk),
    33. cache.type = ${KK_CACHE_TYPE:jdk}
    34. #redis连接,只有当cache.type = redis时才有用
    35. spring.redisson.address = ${KK_SPRING_REDISSON_ADDRESS:127.0.0.1:6379}
    36. spring.redisson.password = ${KK_SPRING_REDISSON_PASSWORD:}
    37. #缓存是否自动清理 true 为开启,注释掉或其他值都为关闭
    38. cache.clean.enabled = ${KK_CACHE_CLEAN_ENABLED:true}
    39. #缓存自动清理时间,cache.clean.enabled = true时才有用,cron表达式,基于Quartz cron
    40. cache.clean.cron = ${KK_CACHE_CLEAN_CRON:0 0 3 * * ?}
    41. #######################################可在运行时动态配置#######################################
    42. #提供预览服务的地址,默认从请求url读,如果使用nginx等反向代理,需要手动设置
    43. #base.url = https://file.keking.cn
    44. base.url = ${KK_BASE_URL:default}
    45. #信任站点,多个用','隔开,设置了之后,会限制只能预览来自信任站点列表的文件,默认不限制
    46. #trust.host = file.keking.cn,kkfileview.keking.cn
    47. trust.host = ${KK_TRUST_HOST:default}
    48. #是否启用缓存
    49. cache.enabled = ${KK_CACHE_ENABLED:true}
    50. #文本类型,默认如下,可自定义添加
    51. 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}
    52. #多媒体类型,默认如下,可自定义添加
    53. media = ${KK_MEDIA:mp3,wav,mp4,flv}
    54. #是否开启多媒体类型转视频格式转换,目前可转换视频格式有:avi,mov,wmv,3gp,rm
    55. #请谨慎开启此功能,建议异步调用添加到处理队列,并且增加任务队列处理线程,防止视频转换占用完线程资源,转换比较耗费时间,并且控制了只能串行处理转换任务
    56. media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:false}
    57. #支持转换的视频类型
    58. convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm}
    59. #office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换)
    60. office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
    61. #是否关闭office预览切换开关,默认为false,可配置为true关闭
    62. office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
    63. #是否禁止演示模式
    64. pdf.presentationMode.disable = ${KK_PDF_PRESENTATION_MODE_DISABLE:true}
    65. #是否禁止打开文件
    66. pdf.openFile.disable = ${KK_PDF_OPEN_FILE_DISABLE:true}
    67. #是否禁止打印转换生成的pdf文件
    68. pdf.print.disable = ${KK_PDF_PRINT_DISABLE:true}
    69. #是否禁止下载转换生成的pdf文件
    70. pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}
    71. #是否禁止bookmark
    72. pdf.bookmark.disable = ${KK_PDF_BOOKMARK_DISABLE:true}
    73. #是否禁用首页文件上传
    74. file.upload.disable = ${KK_FILE_UPLOAD_ENABLED:false}
    75. #预览源为FTP时 FTP用户名,可在ftp url后面加参数ftp.username=ftpuser指定,不指定默认用配置的
    76. ftp.username = ${KK_FTP_USERNAME:ftpuser}
    77. #预览源为FTP时 FTP密码,可在ftp url后面加参数ftp.password=123456指定,不指定默认用配置的
    78. ftp.password = ${KK_FTP_PASSWORD:123456}
    79. #预览源为FTP时, FTP连接默认ControlEncoding(根据FTP服务器操作系统选择,Linux一般为UTF-8,Windows一般为GBK),可在ftp url后面加参数ftp.control.encoding=UTF-8指定,不指定默认用配置的
    80. ftp.control.encoding = ${KK_FTP_CONTROL_ENCODING:UTF-8}
    81. #水印内容
    82. #例:watermark.txt = ${WATERMARK_TXT:凯京科技内部文件,严禁外泄}
    83. #如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
    84. watermark.txt = ${WATERMARK_TXT:}
    85. #水印x轴间隔
    86. watermark.x.space = ${WATERMARK_X_SPACE:10}
    87. #水印y轴间隔
    88. watermark.y.space = ${WATERMARK_Y_SPACE:10}
    89. #水印字体
    90. watermark.font = ${WATERMARK_FONT:微软雅黑}
    91. #水印字体大小
    92. watermark.fontsize = ${WATERMARK_FONTSIZE:18px}
    93. #水印字体颜色
    94. watermark.color = ${WATERMARK_COLOR:black}
    95. #水印透明度,要求设置在大于等于0.005,小于1
    96. watermark.alpha = ${WATERMARK_ALPHA:0.2}
    97. #水印宽度
    98. watermark.width = ${WATERMARK_WIDTH:180}
    99. #水印高度
    100. watermark.height = ${WATERMARK_HEIGHT:80}
    101. #水印倾斜度数,要求设置在大于等于0,小于90
    102. watermark.angle = ${WATERMARK_ANGLE:10}
    103. #Tif类型图片浏览模式:tif(利用前端js插件浏览);jpg(转换为jpg后前端显示);pdf(转换为pdf后显示,便于打印)
    104. tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif}

    最后解决了这个问题,还是没有好好看教程。

    多花点时间沉下心才能有所突破,不要害怕浪费时间!

    比如写博客就是一个好习惯!

  • 相关阅读:
    Linux网络通信优化方法
    华为Hcia-数通学习(更改策略)
    idea找不到或无法加载主类
    x264中的哈德玛变换
    【解决】mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
    2023CCPC哈尔滨站
    Java --- JVM的执行引擎
    记一次高校学生账户的“从无到有”
    文心一言(ERNIE Bot)初体验
    var、let、const声明变量和不用var声明变量的区别
  • 原文地址:https://blog.csdn.net/onlyoneggp/article/details/125609996