Minio + Nginx 实现静态资源对外访问
背景:
公司交付项目,文件服务java + minio实现文件基本功能。其中包含文件上传与下载与在线预览,由于文件下载功能实现方式问题(web直接调用文件预览接口,有minio直接返回可预览路径二次请求实现文件下载)。
在公司局域网内没有问题,到客户环境文件无法下载,客户环境文件上传直接同网段局域网内部通讯没有问题,但是下载请求为公网,又不想打破网关内内网通讯,静态低敏访问直接开启对外访问权限的业务逻辑,所以,解决问题的方式只有一个,就是下载功能返回的路径必须是公网可以正常访问。
剖析问题:
代理实现,配合dmz区 (这里用的是nginx)代理直接将请求转发一下就可以了,思路是对的,但是请求穿透到minio服务器后访问被拒绝,验证密钥失败。
密钥?校验失败?要解决这个问题就要先了解minio加密与校验的环节,没有必要非的知道minio的加密手段,校验失败肯定就是在校验前,提供的校验参数与加密时不一致,问题出在哪里了呢?在转发前是没有问题的啊,转发之后可以访问了,但是校验不通过,那一定就是转发环节出了问题,结合以上分析,去minio找了官方文档,按照官方配置还是不可以。</