Как ограничить размер загрузки файлов в Nginx

by itisgood

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

 

You may also like

Leave a Comment