Nginx

Nginx Client Max Body Size Calculator

Подобрать значение client_max_body_size под размер загружаемых файлов.

Как это работает

Ошибка 413 Request Entity Too Large выскакивает при попытке загрузить файл чуть больше, чем ожидал nginx по умолчанию, а именно один мегабайт, что до смешного мало для современных фото или видео вложений. Как увеличить лимит загрузки файлов nginx вопрос с простым ответом через директиву client_max_body_size, но конкретное значение стоит подбирать осознанно, а не наугад ставить какое-то огромное число.

Client max body size calculator online берет ожидаемый максимальный размер загружаемого файла в понятных единицах вроде мегабайт и добавляет разумный запас сверху, обычно около двадцати процентов, чтобы учесть накладные расходы протокола передачи данных и метаданные multipart формы вокруг самого файла.

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

Частые вопросы

Что означает client_max_body_size 0 в конфиге nginx?

Значение ноль полностью отключает проверку размера тела запроса, что технически решает проблему 413 ошибки, но небезопасно для публичного сервиса, потому что открывает возможность для DoS атаки через отправку неограниченно больших запросов.

На каком уровне конфига nginx стоит указывать client_max_body_size?

Директиву можно указать на уровне http, server или конкретного location, более специфичный уровень переопределяет более общий, обычно разумно ставить общий лимит на http уровне и увеличивать точечно только для нужного location с загрузкой файлов.

Нужно ли перезапускать nginx после изменения client_max_body_size?

Да, как и после любого изменения конфига, требуется применение через nginx с флагом минус s reload, чтобы новый лимит начал действовать для новых запросов.

Достаточно ли увеличить только client_max_body_size в nginx для больших файлов?

Не всегда, если за nginx стоит backend приложение со своим отдельным лимитом на размер запроса, например в PHP через upload_max_filesize или в фреймворке через собственную настройку, этот лимит тоже нужно поднять согласованно.