下面是一个示例配置文件,用于设置 Minio 和 Nginx,通过 Docker Compose 来管理。Nginx 将作为一个反向代理,转发请求到 Minio 服务。
docker-compose.yml
version: '3.8'
services:
minio:
image: bitnami/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123
volumes:
- /opt/minio/data:/bitnami/minio/data
nginx/conf.d/minio.conf
server {
listen 80;
server_name minio.example.com;
location / {
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:9001;
proxy_read_timeout 90;
proxy_redirect http://localhost:9001 http://minio.example.com;
}
}
配置解释
**nginx/conf.d/minio.conf
**:
- Nginx 的站点配置文件,将
minio.example.com
的请求代理到 Minio 服务。 - proxy_redirect 指令用于修改从上游服务器接收到的重定向响应,使它们在通过反向代理时能够正确地被客户端解析。在这个上下文中,proxy_redirect http://loclahost:9001 http://minio.example.com; 指令告诉 Nginx 将上游服务器返回的重定向响应中的 http://localhost:9001 替换为 http://minio.example.com。
部署
-
启动 Docker Compose:
在你的项目目录下运行:
docker-compose up -d
-
验证配置:
- 打开浏览器并访问
http://minio.example.com
,确保 Nginx 正确代理到 Minio 服务。 - 确认 Minio 界面正常显示并能够访问。
- 打开浏览器并访问
这样,你就完成了使用 Docker Compose 配置 Nginx 作为 Minio 的反向代理的示例。根据需要调整配置和环境变量,以适应你的实际需求。