RustFS 与Nginx 集成
通过RustFS与Nginx集成,可以实现如下功能:
- 日志的全面收集;
- 负载均衡配置;
- 自定义的URL转发和解析;
- 自定义的URL禁止。
一、RustFS Nginx 前置条件
为了让集成顺利进行,你需要提前准备了:
- RustFS Server 安装正常,并且正确启动;
- 确定RustFS的端口;
- Nginx标识正确;
- 确认RustFS 单机或者集群的IP地址。
二、 配置文件
upstream rustfs {
least_conn;
server 127.0.0.1:9000;
}
server {
listen 8000;
listen [::]:8000;
server_name _;
# 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_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://rustfs; # This uses the upstream directive definition to load balance
}
}
三、多机负载均衡
若需要在分布式环境中增加多个RustFS服务器,请提前调整好DNS解析或者本地的Hosts地址,修改和增加 server即可。
upstream rustfs {
least_conn;
server 10.0.0.1:9000;
server 10.0.0.2:9000;
server 10.0.0.3:9000;
server 10.0.0.4:9000;
}