minio预签名访问地址经过Nginx代理后返回403问题

使用MinioClient的getPresignedObjectUrl方法生成文件预签名的授权访问地址,直接使用MinioClient的endpoint域名或ip访问时正常,但是把endpoint的ip替换为经过nginx代理过的域名后,请求返回403。

原因:签名时的host与实际访问时的host不一致

解决方案:

修改nginx,minio代理部分,加入proxy_set_header ,确保与你代码里MinioClient的endpoint一致,这样minio收到的host就是原始host

bash 复制代码
        location / {  
			proxy_pass http://192.168.1.128:9000/;
            index  index.html index.htm;
			
			# 原始的内部地址
			proxy_set_header Host 192.168.1.128:9000;
			
			# 其他必要的头部
			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;
		}
相关推荐
广然2 小时前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端
祁鱼鱼鱼鱼鱼2 小时前
DNS 笔记记录
运维·服务器·网络
tod1132 小时前
Makefile进阶(上)
linux·运维·服务器·windows·makefile·进程
Data_Journal2 小时前
【无标题】
大数据·服务器·前端·数据库·人工智能
方芯半导体2 小时前
EtherCAT “通信 + 控制“ 的全国产化控制方案,ESC芯片(FCE1323)与国产MCU芯片功能板解析
xml·网络·单片机·嵌入式硬件·网络协议·机器人·自动化
豆是浪个2 小时前
Linux(Centos 7.6)命令详解:top
linux·运维·服务器
王锋(oxwangfeng)2 小时前
企业出海网络架构与数据安全方案
网络·架构·自动驾驶
赛德传动3 小时前
使用SNJ齿轮齿条升降机时,有哪些安全防护措施?
网络·安全·制造
Zach_yuan3 小时前
UDP网络编程:从入门到精通
linux·网络·网络协议·udp