nakama/NGINX_CLIENT_MAX_BODY_SIZE.md

87 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Исправление ошибки 413 при загрузке альбомов
## Проблема
При загрузке ZIP альбомов возникает ошибка 413 "Request Entity Too Large", даже после увеличения лимитов в Express и multer.
## Решение
Ошибка 413 возникает на уровне Nginx, который проксирует запросы к backend. Нужно увеличить `client_max_body_size` в конфигурации Nginx.
### Вариант 1: Если используется Nginx для проксирования к backend
Добавьте или увеличьте `client_max_body_size` в конфигурации Nginx:
```nginx
server {
listen 80;
server_name your-domain.com;
# Увеличить лимит загрузки до 110MB (больше чем на backend для безопасности)
client_max_body_size 110M;
location /api {
proxy_pass http://localhost:3000;
proxy_set_header Host $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_read_timeout 300s;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
}
}
```
### Вариант 2: Если используется docker-compose с nginx
Обновите `nginx-moderation-production.conf` или создайте отдельный конфиг для основного приложения:
```nginx
# Увеличить лимит загрузки
client_max_body_size 110M;
# Увеличить таймауты
client_body_timeout 300s;
client_header_timeout 300s;
```
### Вариант 3: Для production на сервере
Если приложение развернуто на сервере, нужно обновить конфигурацию Nginx:
1. Отредактируйте конфигурацию:
```bash
sudo nano /etc/nginx/sites-available/nakama
```
2. Добавьте или обновите:
```nginx
client_max_body_size 110M;
```
3. Проверьте конфигурацию:
```bash
sudo nginx -t
```
4. Перезапустите Nginx:
```bash
sudo systemctl reload nginx
```
## Проверка
После применения изменений попробуйте загрузить ZIP альбом размером до 105MB. Ошибка 413 должна исчезнуть.
## Примечание
Лимиты должны быть установлены в следующем порядке (от большего к меньшему):
1. Nginx: `client_max_body_size 110M` (больше всех)
2. Express: `limit: '105mb'`
3. Multer: `fileSize: 105 * 1024 * 1024`
Это обеспечивает, что запрос доходит до backend без ошибок.