docker 安装minio nginx,配置nginx根据文根路由minio展示图片

  1. docker安装minio
bash 复制代码
docker pull minio
  1. docker安装ngnix
bash 复制代码
docker pull nginx
  1. nginx配置
bash 复制代码
server {
    listen 80;
    server_name 192.168.197.148;  # 必须与 MINIO_SERVER_URL 一致(无端口)

    # 关键:/wengen/ 路径映射到 MinIO 的 Bucket 根目录
    location /wengen/ {
        # 1. 代理到 MinIO 容器内部地址(末尾保留 / 表示路径替换)
        proxy_pass http://172.17.0.2:9000/;  # 注意:末尾的 / 不可省略!

        # 2. 强制重写 Host 头(必须与 MINIO_SERVER_URL 完全一致)
        proxy_set_header Host 192.168.197.148:9000;  # 硬编码为 MinIO 配置的域名+端口

        # 3. 传递客户端真实信息(关键用于签名验证)
        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;

        # 4. 禁用缓冲(避免大文件传输问题)
        proxy_buffering off;

        # 5. 重要:修复 S3 API 的 Transfer-Encoding 头
        proxy_request_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Connection "";

        # 6. 超时设置(根据网络环境调整)
        proxy_connect_timeout 300;
        proxy_send_timeout 600;
        proxy_read_timeout 600;
        proxy_buffer_size 128k;
        proxy_buffers 4 256k;
        proxy_busy_buffers_size 256k;
    }

    # 可选:健康检查路径(避免误拦截)
    location /healthz {
        return 200 'OK';
        add_header Content-Type text/plain;
    }
}
  1. 启动minio
bash 复制代码
docker run -d   --name my_minio   -p 9000:9000   -p 9001:9001   -v /wz_conf/minio/data:/data   -v /wz_conf/minio/config:/root/.minio   -e MINIO_ROOT_USER=admin   -e MINIO_ROOT_PASSWORD=admin123   minio/minio server /data --console-address ":9001"
  1. 启动nginx
bash 复制代码
docker run -d   --name nginx-minio   -p 80:80   -v /nginx/config/minio-proxy.conf:/etc/nginx/conf.d/default.conf   --network bridge   <minio的容器id或者容器名称>
相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
还是大剑师兰特2 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
分布式存储与RustFS2 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot