Такая ошибка часто возникает, если ты пытаешься загрузить большой файл. Недавно я столкнулся с ней в одном из моих проектов. Вот как я ее починил.

Если ты используешь nginx как реверс прокси, ты должен знать, что в нем существует ограничение на размер body в POST запросах.

Начни Учить Full-Stack JavaScript СЕЙЧАС!

Часто — это 2MB, но бывает и меньше.

В любом случае, если ты уже получил ошибку 413 Request Entity Too Large, тебе нужно сделать одно из двух:

  • уменьшить размер запроса
  • увеличить максимальный размер для body в POST запросе

Обычный nginx

Для обычного nginx на Linux, то тебе нужен файл конфигурации в директории /etc/nginx/conf.d.

Ищи ключ client_max_body_size.

Если он уже там есть, то можешь просто увеличить его. Например, client_max_body_size 25m; увеличит максимальный размер загружаемого файла до 25MB.

nginx внутри Docker

Если твой nginx работает внутри докер контейнера, как например jwilder/nginx-proxy, тогда подход будет немного другим.

Выведи список всех томов (volumes) nginx контейнера и найди тот, который связан с директорией /var/lib/docker/volumes/nginx_vhost.

В этом томе, ты найдешь одну папку _data и файл default внутри нее.

Просто добавь ту же строку, чтобы увеличить размер тела HTTP запросов:

client_max_body_size 25m;

Если файл default не существует — создай его. А если 25 мегабайт не хватает, то измени это значение на такое, которое тебе подойдет.