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;
		}
相关推荐
Codefengfeng7 小时前
分辨压缩包的真加密与伪加密
linux·运维·网络
白太岁7 小时前
通信:(3) 高并发网络通信:epoll + 边沿触发 + 非阻塞 IO + tcp
c语言·网络·c++·网络协议·tcp/ip
暴力求解8 小时前
Linux---进程(五)进程调度
linux·运维·服务器
wsad05328 小时前
Linux 用户和组管理完整指南(中英文参数对照)
linux·运维·服务器
EmbedLinX9 小时前
嵌入式Linux之U-Boot
linux·服务器·笔记·学习
duration~9 小时前
DHCP 协议详解
网络·网络协议·tcp/ip
fjh199710 小时前
使用caddy签发ip证书
运维·服务器
暴力求解11 小时前
Linux进程(六)命令行参数
linux·运维·服务器
野犬寒鸦11 小时前
深入解析HashMap核心机制(底层数据结构及扩容机制详解剖析)
java·服务器·开发语言·数据库·后端·面试
代码改善世界12 小时前
【C语言】线性表之顺序表、单链表、双向链表详解及实现
c语言·网络·链表