Skip to content

Instantly share code, notes, and snippets.

@SyaibanAhmadRamadhan
Last active September 1, 2023 20:53
Show Gist options
  • Save SyaibanAhmadRamadhan/18d6a2b7b6621cc0bf430df875acf584 to your computer and use it in GitHub Desktop.
Save SyaibanAhmadRamadhan/18d6a2b7b6621cc0bf430df875acf584 to your computer and use it in GitHub Desktop.
example-minio-reverse-proxy-loadbalance-nginx
upstream minio_s3 {
least_conn;
server minio-01.internal-domain.com:9000;
server minio-02.internal-domain.com:9000;
server minio-03.internal-domain.com:9000;
server minio-04.internal-domain.com:9000;
}
upstream minio_console {
least_conn;
server minio-01.internal-domain.com:9090;
server minio-02.internal-domain.com:9090;
server minio-03.internal-domain.com:9090;
server minio-04.internal-domain.com:9090;
}
server {
listen 80;
listen [::]:80;
server_name yourdomain;
# 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 /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;
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
proxy_pass https://minio_console; # This uses the upstream directive definition to load balance
}
location /drive/ {
rewrite ^/drive/(.*) /$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_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 https//minio_s3; # This uses the upstream directive definition to load balance
}
}
#source : https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment