這篇說一下我解決的思路和方式哈,不一定適用于大家,可以做個參考
比如我們的系統服務是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了