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;
		}
相关推荐
hz567894 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育4 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
AIgorithmGEEK4 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2084 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)4 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter6254 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
zhengqweasd4 小时前
机房托管服务器怎么选硬盘,机械盘和 SSD 托管场景差异
运维·服务器·github
xh didida6 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++