Серия «MinIO на VPS»: Nginx reverse proxy → SSL
Предварительно: Nginx настроен, DNS A-записи s3.example.com и minio-console.example.com указывают на IP VPS.
Шаг 1. Certbot
apt update && apt install -y certbot python3-certbot-nginxШаг 2. Сертификат для S3 API
certbot --nginx -d s3.example.com --non-interactive --agree-tos -m admin@example.com --redirectШаг 3. Сертификат для Console
certbot --nginx -d minio-console.example.com --non-interactive --agree-tos -m admin@example.com --redirectШаг 4. URL для MinIO
Binary (systemd) — добавьте в /etc/default/minio:
grep -q MINIO_SERVER_URL /etc/default/minio || cat >> /etc/default/minio << 'EOF'
MINIO_SERVER_URL=https://s3.example.com
MINIO_BROWSER_REDIRECT_URL=https://minio-console.example.com
EOF
systemctl restart minioDocker Compose — добавьте в environment и перезапустите:
cd /opt/minio
docker compose up -dШаг 5. mc с HTTPS
mc alias set prod https://s3.example.com admin 'ChangeMe_StrongPass123'
mc admin info prodШаг 6. Проверка
curl -f https://s3.example.com/minio/health/live && echo " HTTPS OK"
openssl s_client -connect s3.example.com:443 -servername s3.example.com </dev/null 2>/dev/null | openssl x509 -noout -datesАвтопродление
certbot renew --dry-run
systemctl status certbot.timer --no-pagerSignature mismatch после SSL
Если SDK выдаёт SignatureDoesNotMatch:
- Endpoint должен совпадать с тем, что подписывает клиент (
https://s3.example.com). - Включите
use_path_style_endpointтам, где нужно (AWS SDK). - Подробнее: Ошибки MinIO.
Аренда VPS на Simple-Server
Для развёртывания на production возьмите VPS/VDS с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.