minio 配置 nginx
minio 配置 nginx
程序员朱永胜在生产环境中,使用 Nginx 作为反向代理来访问 MinIO 可以为你提供更好的安全性、负载均衡以及 SSL/TLS 支持。以下是配置 Nginx 来代理 MinIO 的详细步骤:
前提条件
- 已经部署好 MinIO,并且可以通过其内部地址访问。
- Nginx 已经安装在你的服务器上。
配置步骤
安装 Nginx
如果还没有安装 Nginx,可以使用以下命令进行安装:
1
sudo yum install nginx -y
生成 SSL 证书(可选)
如果需要通过 HTTPS 访问 MinIO,可以使用 Let’s Encrypt 生成免费的 SSL 证书:
1
2sudo yum install certbot python2-certbot-nginx -y
sudo certbot --nginx按照提示完成证书生成和配置。
配置 Nginx
编辑 Nginx 配置文件,添加 MinIO 的反向代理配置:
1
sudo vi /etc/nginx/conf.d/minio.conf
添加以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35server {
listen 80;
server_name your-domain.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_pass http://127.0.0.1:9000; # MinIO 的内部地址
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
}
# 如果使用 HTTPS,则添加以下配置
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
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_pass http://127.0.0.1:9000; # MinIO 的内部地址
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
}请将
your-domain.com
替换为你实际使用的域名,127.0.0.1:9000
替换为你的 MinIO 实例的内部地址。测试配置
测试 Nginx 配置是否正确:
1
sudo nginx -t
如果配置正确,你应该会看到
syntax is ok
和test is successful
的提示。重启 Nginx
重启 Nginx 使配置生效:
1
sudo systemctl restart nginx
验证配置
打开浏览器,访问你的域名(例如
http://your-domain.com
或https://your-domain.com
),你应该能看到 MinIO 的登录页面。
其他配置项
负载均衡 :如果你有多个 MinIO 实例,可以在 Nginx 中配置负载均衡。例如:
upstream minio_cluster { server 192.168.1.1:9000; server 192.168.1.2:9000; server 192.168.1.3:9000; } server { listen 80; server_name your-domain.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_pass http://minio_cluster; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout