Серия «MinIO на VPS»: справочник по ошибкам
Источники: MinIO Docs, GitHub Issues — minio/minio.
Access Denied
Симптом: HTTP 403, <Code>AccessDenied</Code>.
| Причина | Проверка | Решение |
|---|---|---|
| Нет прав на bucket | mc admin policy list local | Policy для user |
| Неверный bucket | mc ls local | Создайте bucket или исправьте имя |
| Anonymous без policy | mc anonymous get local/bucket | Public bucket |
| Root credentials в приложении | — | Создайте отдельного user |
mc admin trace local -vInvalid credentials / InvalidAccessKeyId
Симптом: The Access Key Id you provided does not exist.
mc admin user list local
mc alias set test http://127.0.0.1:9000 ACCESS_KEY 'SECRET_KEY'
mc ls test- Проверьте опечатки в
.env/ переменных окружения. - После смены пароля обновите alias и перезапустите приложение.
- В Docker —
MINIO_ROOT_USER/MINIO_ROOT_PASSWORDдолжны совпадать с тем, что в клиенте.
SignatureDoesNotMatch
Симптом: подпись запроса не совпадает — частая ошибка за Nginx/SSL.
| Причина | Решение |
|---|---|
| HTTP vs HTTPS | Endpoint в SDK = тот же протокол, что у клиента |
| Неверный Host | Nginx proxy headers |
| Path-style vs virtual-host | AWS_USE_PATH_STYLE_ENDPOINT=true, forcePathStyle: true |
| Регион | Укажите us-east-1 или регион из конфига |
| Часы на сервере | timedatectl status — skew > 15 мин ломает SigV4 |
timedatectl set-ntp true
curl -v https://s3.example.com/my-bucket/ 2>&1 | head -30MinIO за reverse proxy — задайте:
MINIO_SERVER_URL=https://s3.example.comConnection refused
systemctl status minio --no-pager
ss -tlnp | grep -E '9000|9001'
curl -f http://127.0.0.1:9000/minio/health/liveDocker: docker compose ps, docker compose logs minio.
Docker: Fatal glibc error: CPU does not support x86-64-v2 — свежие образы minio/minio:latest не стартуют на старом CPU. Используйте установку binary или VPS с x86-64-v2.
Console login failed
- Используйте
MINIO_ROOT_USER/MINIO_ROOT_PASSWORD, не старыеMINIO_ACCESS_KEY. MINIO_BROWSER_REDIRECT_URLдолжен совпадать с URL в браузере.
mc: Unable to validate credentials
mc alias remove local
mc alias set local http://127.0.0.1:9000 admin 'ChangeMe_StrongPass123'
mc admin info localЛоги
journalctl -u minio -n 100 --no-pager
docker compose logs minio --tail 100
mc admin logs localЧеклист перед production
- Отдельный user + policy на bucket
- HTTPS + Certbot
- NTP синхронизирован
- Firewall: только 443 наружу
- Prometheus monitoring
Аренда VPS на Simple-Server
Для развёртывания на production возьмите VPS/VDS с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.