Setup Nginx proxy with Minio Server Slack

Nginx is an open source Web server and a reverse proxy server.

In this recipe we will learn how to set up Nginx proxy with Minio Server.

1. Prerequisites

Install Minio Server from here.

2. Installation

Install Nginx from here.

3. Configuration

Proxy all requests

Add below content as a file /etc/nginx/sites-enabled and also remove the existing default file in same directory.

server {
 listen 80;
 server_name example.com;
 location / {
   proxy_set_header Host $http_host;
   proxy_pass http://localhost:9000;
 }
}

Note:

Proxy requests based on the bucket

If you want to serve web-application and Minio from the same nginx port then you can proxy the Minio requests based on the bucket name

 # Proxy requests to the bucket "photos" to Minio server running on port 9000
 location /photos/ {
   proxy_buffering off;
   proxy_set_header Host $http_host;
   proxy_pass http://localhost:9000;
 }
 # Proxy any other request to the application server running on port 9001
 location / {
   proxy_buffering off;
   proxy_set_header Host $http_host;
   proxy_pass http://localhost:9001;
 }

4. Recipe Steps

Step 1: Start Minio server.

minio server /mydatadir

Step 2: Restart Nginx server.

sudo service nginx restart

Explore Further

Refer this blog post for various Minio and Nginx configuration options.