# Исправление ошибки 403 в MinIO ## 🔴 Проблема ``` Failed to load resource: the server responded with a status of 403 () ``` Это означает, что bucket `nakama-media` не публичный и браузер не может загрузить изображения. --- ## ✅ Быстрое решение (через MinIO Console) ### Шаг 1: Откройте консоль MinIO ``` http://103.80.87.247:9901/ ``` ### Шаг 2: Войдите - **Username**: `minioadmin` (или ваш логин) - **Password**: `minioadmin` (или ваш пароль) ### Шаг 3: Настройте публичный доступ 1. В боковом меню выберите **Buckets** 2. Найдите **nakama-media** 3. Нажмите на имя bucket 4. Перейдите на вкладку **Anonymous** 5. Нажмите **Add Access Rule** 6. Введите префикс: `*` (для всех файлов) 7. Права доступа: выберите **readonly** или **download** 8. Нажмите **Save** --- ## ✅ Альтернатива: Через MinIO Client (mc) ### На сервере с MinIO выполните: ```bash # Установите mc curl -O https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/ # Настройте подключение mc alias set myminio http://localhost:9000 minioadmin minioadmin # Сделайте bucket публичным mc anonymous set download myminio/nakama-media # Проверьте mc anonymous get myminio/nakama-media ``` Должно вывести: `Access permission for 'myminio/nakama-media' is 'download'` --- ## ✅ Автоматический скрипт ```bash bash fix-minio-public.sh ``` --- ## 📝 Проверьте .env Убедитесь, что в `.env` (в корне проекта) установлено: ```env MINIO_ENABLED=true MINIO_ENDPOINT=103.80.87.247 MINIO_PORT=9000 MINIO_USE_SSL=false MINIO_PUBLIC_BUCKET=true MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_BUCKET=nakama-media ``` --- ## 🔄 Перезапустите backend ```bash docker compose restart backend ``` --- ## ✅ Проверка Откройте в браузере: ``` http://103.80.87.247:9000/nakama-media/posts/test.jpg ``` Если файл существует, он должен загрузиться без ошибок. --- ## 🔧 Если используете Nginx (minio.glpshchn.ru) Убедитесь, что: 1. **MINIO_ENDPOINT** = `minio.glpshchn.ru` 2. **MINIO_PORT** = `443` 3. **MINIO_USE_SSL** = `true` 4. **MINIO_PUBLIC_URL** = `https://minio.glpshchn.ru` И перезапустите backend!