下面给你一套在 Ubuntu 上把 MinIO 集成到 Nginx 的反向代理方案,包含常见场景(API + 控制台)、HTTPS 和注意事项。
http://127.0.0.1:9000http://127.0.0.1:9001minio.example.comminio server /data/minio --console-address ":9001"
确保:
127.0.0.1sudo apt update
sudo apt install nginx
sudo nano /etc/nginx/conf.d/minio.conf
server {
listen 80;
server_name minio.example.com;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $http_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;
}
}
server {
listen 80;
server_name console.minio.example.com;
location / {
proxy_pass http://127.0.0.1:9001;
proxy_set_header Host $http_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;
}
}
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d minio.example.com -d console.minio.example.com
Certbot 会自动帮你加上 HTTPS。
server {
listen 443 ssl;
server_name minio.example.com;
ssl_certificate /etc/ssl/minio/fullchain.pem;
ssl_certificate_key /etc/ssl/minio/privkey.pem;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
}
}
mc alias set myminio https://minio.example.com admin password
必须设置:
client_max_body_size 0;
ufw deny 9000
ufw deny 9001
用户
↓ HTTPS
Nginx
├── minio.example.com → 127.0.0.1:9000
└── console.minio.example.com → 127.0.0.1:9001
如果你需要:
告诉我你的使用场景,我可以给你更精准的配置。