这篇说一下我解决的思路和方式哈,不一定适用于大家,可以做个参考
比如我们的系统服务是http://10.63.25.35:80,而我们的文件服务是在10.63.25.37:8012上,正常不使用代理的话,我们前端调用后端接口,后端调用kkfile服务返回的直接是kkfile服务对应的链接,例如:http://10.63.25.37:8012/preview?xxxx=xxxxxxx,然后前端直接用该链接预览文件即可。
如果采用nginx代理的方式,要经过以下几个步骤的修改:
第一步:修改后端返回的链接
由http://10.63.25.37:8012/ preview?xxxx=xxxxxxx 改为 http://**10.63.25.35/kkfiile/**preview?xxxx=xxxxxxx
第二步:在35上增加nginx配置

location ^~ /kkfile/ {
proxy_pass http://10.63.25.37:8012;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
增加如上配置,就是不直接返回kkfile对应的链接了,返回35上加一个/kkfile 前缀的链接,然后在35上配置/kkfile 反向代理到kkfile对应的服务。
第三步:修改kkfile服务的配置
具体位置就没法说了,看大家kkfile服务放在哪个路径下,有可能是在 /opt/ 下, 也可能是在 /usr/app/ 下 。然后一般找一个东西的时候 我习惯用 whereis 或者 which 比如 whereis nginx,可以尝试一下(有该命令的话)
首先

要改这个位置,由原来的 / 改为 /kkfile/
然后再往下,有个base.url:

改为后端返回的链接截至到前缀地方
第四步:重启kkfile服务
cd ../bin/

然后执行 ./shutdown.sh ,再执行 ./startup.sh
第五步:重启minio服务
还是同样的找到minio服务地方

然后重启一下就行了,启动也是看自己的情况,如果是systemd管理的,可以直接
sudo systemctl restart minio
sudo systemctl start minio
sudo systemctl stop minio
sudo systemctl enable minio
如果不是采用systemd管理的,应该就需要使用nohup了