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;
		}
相关推荐
极创信息9 小时前
信创产品适配测试认证,域名和SSL是必须的吗?
java·开发语言·网络·python·网络协议·ruby·ssl
未来侦察班9 小时前
网络协议物理层,“地基“是怎么练成的
网络·物联网·网络协议·物理层·tcpip
難釋懷9 小时前
Nginx缓冲区
前端·javascript·nginx
不吃土豆的马铃薯9 小时前
高并发服务器数据库连接池设计详解
服务器·网络·数据库·c++·mysql
刚子编程9 小时前
从零开始:在 Windows 服务器上部署 Node.js 项目(小白实战教程)
服务器·nestjs·pm2·windowsserver·node.js部署·caddy反向代理
Shadow(⊙o⊙)9 小时前
C++进阶知识3.0
linux·服务器·开发语言·c++
倒流时光三十年9 小时前
PostgreSQL GREATEST 条件表达式函数详解
服务器·数据库·postgresql
山峰哥9 小时前
VBA数据结构之争:Dictionary vs Collection,性能差3倍!
服务器·数据结构·数据库·windows·sql·算法·哈希算法
Jerry.张蒙10 小时前
AI工具Opencode助力SAP提质增效实践
大数据·运维·服务器·人工智能·运维开发
鹤落晴春18 小时前
RH124问答3:从命令行管理文件
linux·运维·服务器