Nginx负载均衡设定(适合集群部署)
参考资料(英文):https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html#integrations-nginx-proxy
NGINX官方网站:https://nginx.org/
安装nginx(nginx服务器地址:192.168.182.134)
apt install nginx
修改nginx配置文件
nano /etc/nginx/nginx.conf
在http块中添加如下配置:
upstream minio_api {
least_conn; #采用最小连接数负载均衡算法,除此以外还有轮询、ip_hash、url_hash等
server minio-01.example.com:9000;
server minio-02.example.com:9000;
}
upstream minio_web {
least_conn;
server minio-01.example.com:9001;
server minio-02.example.com:9001;
}
server {
listen 80;
listen [::]:80;
server_name 192.168.182.134;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
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;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio_api; # 用于反向代理
}
location /minio/ui/ {
rewrite ^/minio/ui/(.*) /$1 break;
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;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# To support websockets in MinIO versions released after January 2023
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)
# Uncomment the following line to set the Origin request to an empty string
# proxy_set_header Origin '';
chunked_transfer_encoding off;
proxy_pass http://minio_web; # 用于反向代理
}
}
检查nginx配置文件是否配置正确
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载nginx配置文件
nginx -s reload
配置minio环境变量
nano /etc/default/minio
在环境变量中添加MINIO_BROWSER_REDIRECT_URL关键字,用于浏览器重定向
...此处省略...
MINIO_BROWSER_REDIRECT_URL="http://192.168.182.134/minio/ui"
192.168.182.134,属于nginx所在地址
/minio/ui与nginx配置文件中的location /minio/ui/命名方式保持一致