upload_max_output_body_len

Директива upload_max_output_body_len задаёт максимальный размер тела ответа, формируемого из загруженных файлов в NGINX.

Синтаксисupload_max_output_body_len size;
По умолчаниюnone
Контекстhttp, server, location, if in location, limit_except
Аргументы1

Описание

Директива upload_max_output_body_len является частью модуля NGINX, предназначенного для обработки загрузок файлов. Эта директива позволяет указать максимально допустимый размер тела ответа, формируемого после обработки загруженных файлов. Если сгенерированный вывод превышает заданный предел, NGINX прерёт ответ и вернёт клиенту соответствующее сообщение об ошибке. Это важно для предотвращения чрезмерного использования памяти и управления пропускной способностью, особенно в сценариях, когда могут быть загружены и обработаны большие файлы, приводящие к крупным ответам, с которыми сервер не способен эффективно справиться.

Директиву можно устанавливать в разных контекстах, включая http, server, location, а также в условных контекстах, таких как if внутри location или limit_except. Такая гибкость позволяет задавать разные ограничения для разных путей или блоков server в одной конфигурации NGINX. Директива принимает один аргумент, которым должен быть размер, указанный в байтах, килобайтах (k) или мегабайтах (m). При указании размера важно убедиться, что он соответствует ожидаемому объёму вывода логики обработки вашего приложения, чтобы избежать ненужных ошибок во время выполнения.

Пример конфига

location /upload {
    upload_pass /process_upload;
    upload_max_output_body_len 10m;
}

Убедитесь, что указанное значение достаточно для ожидаемого вывода; в противном случае NGINX вернёт ошибку.

Директива применяется в первую очередь к обработанному выводу; она может не ограничивать размер необработанного тела загрузки.

Чрезмерно строгие ограничения могут препятствовать законным операциям по загрузке файлов и ответам.

← Ко всем директивам