0%

docker网络下minIO预签名问题

遇到了在docker-compose环境中运行minio,通过预签名上传文件的时候一直遇到403的问题。

在Github的issue上看到了两个方法,本次解决采用的是第一个方法。
1.将所有请求转发到docker网络中的80端口,通过Nginx将minio预签名的请求反代到9000端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80;
listen [::]:80;

location ~ ^/images/(.*)$ {
proxy_pass http://minio:9000/images/$1;
proxy_http_version 1.1;
proxy_set_header Host $host;
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.第二个方法为通过Nginx将预签名的请求头改写,由于本次仅为了快速解决问题,并未深究此方法,在此记录。
https://github.com/minio/minio/discussions/14709