Nginx配置
upstream minio_console {least_conn;server minio-01.internal-domain.com:9001;server minio-02.internal-domain.com:9001;server minio-03.internal-domain.com:9001;server minio-04.internal-domain.com:9001;
}server {listen 80;listen [::]:80;server_name minio.example.net;# Allow special characters in headersignore_invalid_headers off;# Allow any size file to be uploaded.# Set to a value such as 1000m; to restrict file size to a specific valueclient_max_body_size 0;# Disable bufferingproxy_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;# This is necessary to pass the correct IP to be hashedreal_ip_header X-Real-IP;proxy_connect_timeout 300;# To support websockets in MinIO versions released after January 2023proxy_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 https://minio_console; # This uses the upstream directive definition to load balance}
}
MinIO配置
除了上面的Nginx配置代理之外,还需要,配置MinIO的MINIO_BROWSER_REDIRECT_URL
环境变量。配置如下:
MINIO_BROWSER_REDIRECT_URL=http://<nignx地址>/minio/ui/
注意这里的/minio/ui/
需要与nginx配置的location /minio/ui/ {
配置地址保持一致。
参考
- Configure NGINX Proxy for MinIO Server
- Support for prefixing console with reverse proxy path #15551