114 lines
2.7 KiB
Markdown
114 lines
2.7 KiB
Markdown
# Исправление ошибки 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!
|
||
|
||
|