周小宝武汉 发表于 2025-4-27 10:06:20

终于解决Minio域名无法绑定第三方S3客户端的问题了「附Alist配置参数」

前言之前就在论坛里问 但是无人解答 但又经常听到一部分人说他成功了 但就是不说方法 搞得我很郁闷
网上搜了大量Minio的Nginx反代配置 他妈的没一个管用 真是求人不如求己
我知道论坛里肯定有大佬早就知道了 我发出来只为帮助当初的自己问题点我之前一直都是用的ip+端口的方式绑定的第三方客户端
这种方式会被fofa那些网站爬取收录的嘛 找到你的oss源站简直不要太简单所以我就一直想通过nginx反代内网的方式来达到隐藏源站的目的
但是反代到域名后 死活都添加不到alist或其他第三方s3客户端里最后发现问题点(正确示范)在:proxy_set_header Host $host;
我之前的错误填写如下:proxy_set_header Host 127.0.0.1;
原理我已经看懂了:没有传递真实的host 导致签名认证失败详细可以直接去问Ai 一看就懂不多BB 直接发我的配置Docker部署Minio 直接抄 docker run -d \
-p 127.0.0.1:9000:9000 \
-p 127.0.0.1:9090:9090 \
--name minio \
--restart=always \
-v /Docker/Minio:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=你的密码" \
-e "MINIO_BROWSER_REDIRECT_URL=https://你的域名/minio/ui" \
-e "MINIO_SERVER_URL=https://你的域名" \
minio/minio server /data --console-address ":9090"
Nginx反代配置# 反向代理 MinIO S3 API 接口
    location / {
      proxy_pass http://127.0.0.1:9000;    # 将所有访问根路径(/)的请求,转发到本地9000端口(MinIO S3 API)
      proxy_set_header Host $host;          # 保持客户端请求时原本的 Host 头,防止S3签名验证出错
      proxy_set_header X-Real-IP $remote_addr;# 把客户端真实IP传递给后端
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 保持请求链的所有IP记录
      proxy_set_header X-Forwarded-Proto $scheme;   # 传递使用的协议(http或https)
      proxy_http_version 1.1;                # 强制使用HTTP/1.1(MinIO需要保持长连接)
      proxy_set_header Connection "";         # 禁止Nginx修改Connection头,保持后端连接正确

      client_max_body_size 0;    # 允许上传超大文件,不限制单次请求体积
      proxy_buffering off;       # 关闭代理缓存,加快大文件直传,适合对象存储场景
    }

    # 反向代理 MinIO 控制台界面 (Browser Console)
    location /minio/ui/ {
      proxy_pass http://127.0.0.1:9090/;   # 将访问 /minio/ui/ 的请求,转发到本地9090端口(MinIO后台)
      proxy_set_header Host $host;         # 保持客户端原Host,避免跳转或资源加载异常
      proxy_set_header X-Real-IP $remote_addr;# 传递客户端真实IP
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 维护请求链IP记录
      proxy_set_header X-Forwarded-Proto $scheme;   # 告知后端实际使用的协议
      proxy_http_version 1.1;                # 使用HTTP/1.1,保持长连接支持
      proxy_set_header Connection "";         # 保持连接头原样传递,避免意外断连

      client_max_body_size 0;    # 后台界面上传也可能涉及大文件,所以不限制体积
      proxy_buffering off;       # 关闭缓存,实时传递请求,提高体验
    }
Alist添加对象存储配置参考读取成功 上传文件成功 一切正常
完结
页: [1]
查看完整版本: 终于解决Minio域名无法绑定第三方S3客户端的问题了「附Alist配置参数」