В нашей предыдущей статье мы объяснили, как ограничить размер загружаемого файла пользователя в Apache.
В этой статье мы объясним, как ограничить размер загрузки файла пользователя для nginx.
Ограничение размера загрузки файлов полезно для предотвращения некоторых типов атак типа «отказ в обслуживании» (DOS) и многих других связанных с этим проблем.
По умолчанию Nginx имеет ограничение на 1 МБ при загрузке файлов.
Чтобы установить размер загрузки файлов, вы можете использовать директиву client_max_body_size, которая является частью модуля ngx_http_core_module от Nginx.
Эта директива может быть найдена в контексте http, сервера или местоположения.
Он устанавливает максимальный разрешенный размер тела запроса клиента, указанный в поле заголовка запроса «Content-Length».
Ниже приведен пример увеличения предела 100 МБ в файле /etc/nginx/nginx.conf.
Устанавливается в http-блоке, который затрагивает все серверные блоки (виртуальные хосты).
http { ... client_max_body_size 100M; }
Установите в блоке сервера, который влияет на конкретный сайт / приложение.
server { ... client_max_body_size 100M; }
Установить в блоке местоположения, который влияет на конкретный каталог (uploads) сайта / приложения.
location /uploads { ... client_max_body_size 100M; }
Сохраните файл и перезапустите Веб-сервер Nginx, чтобы применить последние изменения, используя следующую команду:
# systemctl restart nginx #systemd # service nginx restart #sysvinit
После того, как вы сохранили изменения и перезапустили HTTP-сервер, ошибка 413 (Request Entity Too Large) возвращается клиенту.
Примечание. Следует иметь в виду, что иногда браузеры могут неправильно отображать эту ошибку. И установка valua (size) в 0 отключает проверку размера тела запроса клиента.