先说服务器环境是liunx,minio、nacos、nginx装在docker里面,服务器本身IP是32,但是呢客户不让跟内网的办公室网联通偏要再映射一个IP是210的出来,然后通过210想成功访问minio的文件就得配置nginx的反向代理
1.这是nacos上minio的配置,能正常上传文件就是图片预览不了,所以不存在地址、账号密码错误
2.浏览器上访问应用 210:8080,点图片预览的功能minio返回的文件地址是:http://xxx.xx.xx.32:9000/jh/20220830090604.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minio%2F20240831%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240831T032300Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b8ff65f7e52dc7410de7610dc946026a1400147e30a2e96550c64e7afbb3d98c解析下上面的信息:
http://xxx.xx.xx.32:9000是nacos里对minio配置的 endpoint;(minio安装的时候有2个默认端口一个9000用于API,一个是9001用于浏览器访问)
jh 是 桶名称;
20220830090604.png 是文件名称;
?问号后面的是minio生成的签名;
3.因为办公网210是访问不了32的,所以得在32服务器上的nginx配置代理,配置完对nginx进行重启
4.第三步配置完,还要把minio返回的文件地址里IP和端口改成现在浏览器上使用的IP和端口,可以让前端处理,指定 xxx.xx.xx.32 字符替换成浏览器的 xxx.xx.xx.210:8080,至此问题就欧了
替换出来的地址是:http://xxx.xx.xx.210:8080/jh/20220830090604.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minio%2F20240831%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240831T032300Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b8ff65f7e52dc7410de7610dc946026a1400147e30a2e96550c64e7afbb3d98c