• 为Minio Server设置Nginx代理
    • 1. 前提条件
    • 2. 安装
    • 3. 配置
      • 标准的Root配置
      • 非Root配置
      • 使用Rewrite的非Root配置
    • 4. 步骤
      • 第一步: 启动Minio Server。
      • 第二步: 重启Nginx server。
    • 了解更多

    为Minio Server设置Nginx代理

    Nginx是一个开源的Web服务器和反向代理服务器。

    在本文中,我们将学习如何给Minio Server设置Nginx代理。

    1. 前提条件

    从这里下载并安装Minio Server。

    2. 安装

    从这里安装Nginx。

    3. 配置

    标准的Root配置

    在文件/etc/nginx/sites-enabled中添加下面的内容,同时删除同一个目录中现有的default文件。

    1. server {
    2. listen 80;
    3. server_name example.com;
    4. location / {
    5. proxy_set_header Host $http_host;
    6. proxy_pass http://localhost:9000;
    7. }
    8. }

    注意:

    • 用你自己的主机名替换example.com。
    • 用你自己的服务名替换http://localhost:9000。
    • 为了能够上传大文件,在http上下文中添加client_max_body_size 1000m;,只需按你的需求调整该值。默认值是1m,对大多数场景来说太低了。

      非Root配置

    当需要非root配置时,按如下方式修改location:

    1. location ~^/files {
    2. proxy_buffering off;
    3. proxy_set_header Host $http_host;
    4. proxy_pass http://localhost:9000;
    5. }

    注意:

    • 用你自己的服务名替换http://localhost:9000。
    • 用所需的路径替换files。这不能是~^/minio,因为minio是minio中的保留字。
    • 所使用的路径(在本例中为files)按照惯例,应设置为minio所使用的存储桶的名称。
    • 可以通过添加更多类似于上面定义的location定义来访问其他存储桶。

      使用Rewrite的非Root配置

    以下location配置允许访问任何存储桶,但只能通过未签名的URL,因此只能访问公开的存储桶。

    1. location ~^/files {
    2. proxy_buffering off;
    3. proxy_set_header Host $http_host;
    4. rewrite ^/files/(.*)$ /$1 break;
    5. proxy_pass http://localhost:9000;
    6. }

    注意:

    • 用你自己的服务名替换http://localhost:9000。
    • 用所需的路径替换files。
    • 使用的存储桶必须是公开的,通常情况是可公开读和公开写。
    • 使用的网址必须是无符号的,因为nginx会更改网址并使签名无效。

      4. 步骤

    第一步: 启动Minio Server。

    1. minio server /mydatadir

    第二步: 重启Nginx server。

    1. sudo service nginx restart

    了解更多

    参考这里了解更多Minio和Nginx的配置选项。

    原文: https://docs.minio.io/cn/setup-nginx-proxy-with-minio.html