Настройка MinIO за Nginx reverse proxy

    Команда Simple-Server
    05.06.2026
    11 мин

    Серия «MinIO на VPS»: Docker ComposeNginxSSL Certbot

    Источники: Nginx Docs, MinIO — Nginx proxy.

    Схема

    ДоменBackendНазначение
    s3.example.com127.0.0.1:9000S3 API
    minio-console.example.com127.0.0.1:9001Web Console

    MinIO должен быть запущен локально (Ubuntu или Docker).

    Шаг 1. Установка Nginx

    apt update && apt install -y nginx systemctl enable --now nginx

    Шаг 2. S3 API (порт 9000)

    cat > /etc/nginx/sites-available/minio-api << 'EOF' upstream minio_api { ```bash server 127.0.0.1:9000; keepalive 32;

    }

    server {

    listen 80; server_name s3.example.com; client_max_body_size 0; 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; proxy_http_version 1.1; proxy_set_header Connection ""; chunked_transfer_encoding off; proxy_pass http://minio_api; }

    } EOF

    # Шаг 3. Web Console (порт 9001) ```bash cat > /etc/nginx/sites-available/minio-console << 'EOF' upstream minio_console { ```bash server 127.0.0.1:9001; keepalive 8;

    }

    server {

    listen 80; server_name minio-console.example.com; 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_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_pass http://minio_console; }

    } EOF

    # Шаг 4. Активация ```bash ln -sf /etc/nginx/sites-available/minio-api /etc/nginx/sites-enabled/ ln -sf /etc/nginx/sites-available/minio-console /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx

    Шаг 5. Переменные окружения MinIO (за proxy)

    Если MinIO за HTTPS-терминацией, укажите в /etc/default/minio или docker-compose:

    # Для binary install добавьте в MINIO_OPTS или EnvironmentFile: # MINIO_SERVER_URL=https://s3.example.com # MINIO_BROWSER_REDIRECT_URL=https://minio-console.example.com

    Для Docker Compose:

    environment: MINIO_SERVER_URL: https://s3.example.com MINIO_BROWSER_REDIRECT_URL: https://minio-console.example.com

    Проверка

    curl -I -H "Host: s3.example.com" http://127.0.0.1/minio/health/live

    После DNS A-записей на IP VPS:

    curl -f http://s3.example.com/minio/health/live && echo OK

    Дальше

    SSL через Certbot — HTTPS для обоих доменов.

    Ошибки

    ПроблемаПричина
    413 Request Entity Too LargeУвеличьте client_max_body_size 0
    Console не грузитсяНужны заголовки Upgrade / WebSocket
    Signature mismatchНеверный Host / нужен HTTPS — см. troubleshooting

    VPS на Simple-Server

    Для развёртывания на production возьмите VPS/VDS с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация? Посмотрите все доступные тарифы

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны