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或者容器名称>
相关推荐
Tim_1018 分钟前
【C++】009、extern关键字
java·开发语言
ShiXZ21321 分钟前
PDF-OCR文件识别篇(七):数据入库
java·pdf·json·ocr·springboot
rebibabo1 小时前
Java基础(番外) | Kafka 入门:分区、副本与消费者组原理
java·分布式·kafka·学习笔记·副本·分区·异步日志
Flittly1 小时前
【AgentScope Java新手村系列】(17)长期记忆系统
java·spring boot·spring
wei1986211 小时前
.net添加web引用和添加服务引用有什么区别?
java·前端·.net
Full Stack Developme1 小时前
正则表达式的使用教程
java·数据库·正则表达式
SeeYa-J2 小时前
Sprint 1-2:创建第一个 Spring Boot Module(user-service)
java·spring boot·sprint
江畔柳前堤2 小时前
第16章:docker企业级实战综合项目
运维·git·安全·docker·容器·eureka
云絮.2 小时前
数据库事务
java·开发语言·数据库