В нашей предыдущей статье мы объяснили, как ограничить размер загружаемого файла пользователя в 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 отключает проверку размера тела запроса клиента.
![]()
