3.0 KiB
3.0 KiB
Исправление ошибки 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:
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 или создайте отдельный конфиг для основного приложения:
# Увеличить лимит загрузки
client_max_body_size 110M;
# Увеличить таймауты
client_body_timeout 300s;
client_header_timeout 300s;
Вариант 3: Для production на сервере
Если приложение развернуто на сервере, нужно обновить конфигурацию Nginx:
- Отредактируйте конфигурацию:
sudo nano /etc/nginx/sites-available/nakama
- Добавьте или обновите:
client_max_body_size 110M;
- Проверьте конфигурацию:
sudo nginx -t
- Перезапустите Nginx:
sudo systemctl reload nginx
Проверка
После применения изменений попробуйте загрузить ZIP альбом размером до 105MB. Ошибка 413 должна исчезнуть.
Примечание
Лимиты должны быть установлены в следующем порядке (от большего к меньшему):
- Nginx:
client_max_body_size 110M(больше всех) - Express:
limit: '105mb' - Multer:
fileSize: 105 * 1024 * 1024
Это обеспечивает, что запрос доходит до backend без ошибок.