В нашей последней статье мы рассказали об ограничении размера загружаемых пользователем файлов в Apache. В этой статье мы объясним, как ограничить размер загружаемого пользователем файла в Nginx . Ограничение размера загружаемого файла полезно для предотвращения некоторых типов атак типа «отказ в обслуживании» (DOS) и многих других связанных проблем.
По умолчанию Nginx имеет ограничение 1 МБ на загрузку файлов. Чтобы установить размер загружаемого файла, вы можете использовать директиву client_max_body_size
, которая является частью модуля Nginx ngx_http_core_module . Эта директива может быть установлена в контексте http , server или location .
Он устанавливает максимально допустимый размер тела клиентского запроса, указанный в поле заголовка запроса « Content-Length ». Вот пример увеличения лимита до 100 МБ в файле /etc/nginx/nginx.conf
.
Установить в http block , который влияет на все серверные блоки ( виртуальные хосты ).
http {... client_max_body_size 100M ;}
Устанавливается в серверном блоке , который влияет на конкретный сайт/приложение.
server {.. . client_max_body_sizeУстановить в блоке местоположения , который влияет на определенный каталог (загрузки) на сайте/в приложении.
location/uploads {... client_max_body_size 100M ;}Сохраните файл и перезапустите веб-сервер Nginx, чтобы применить последние изменения, используя следующую команду.
# systemctl restart nginx # systemd # service nginx restart #sysvinitПосле сохранения изменений и перезапуска HTTP-сервера, если размер в запросе превышает настроенное значение 100 МБ , клиенту возвращается ошибка 413 (Request Entity Too Large) .
Примечание . Помните, что иногда браузеры могут некорректно отображать эту ошибку. А установка значения (размера) на 0 отключает проверку размера тела клиентского запроса.
Вы также можете прочитать следующие статьи, связанные с администрированием веб-сервера Nginx. .
- Как изменить порт Nginx в Linux
- Как скрыть версию сервера Nginx в Linux
- ngxtop - Мониторинг файлов журнала Nginx в реальном времени в Linux
- Как контролировать производительность Nginx с помощью Netdata
- Как включить страницу состояния NGINX
Ссылка : документация ngx_http_core_module
Вот и все! В этой короткой статье мы объяснили, как ограничить размер загружаемого пользователем файла в Nginx. Вы можете поделиться с нами своими мыслями через форму комментариев ниже.
Я могу отправить вам скриншот с моей конфигурацией, оставьте мне свою почту, пожалуйста, или напишите мне на мою почту .
Ответить
@Dimm
Вот мой адрес электронной почты: [электронная почта защищена].
Ответ
Привет, наконец-то я получил рабочее решение!
Загрузка лимита файлов PHP на веб-сервере TerraMaster
Проблема по умолчанию он был ограничен 2 МБ;
Ни один из этих параметров не может помочь:
upload_max_filesize 10Mvalue post_max_size 10Mphp_value memory_limit 32M client_max_body_sizeРешение:
Создайте файл « .htaccess » на корневом веб-сервере, но не в корне, а в корне вашего веб-сервера ex: «/mnt/md2/HD1/Web ».
Создайте эти настройки внутри.
php_value upload_max_filesize 102Mphp_value post_max_size 102Mphp_value memory_limit 64MОтветить
Я не могу быть настроен на моем TerraMaster f210, и у меня нет блока местоположения.
Ответ
@ dimm
Вы также можете установить его в контексте
http {}
илиserver {}
.Ответить
да, но у меня ничего не работает. Сможете ли вы однажды подключиться ко мне с помощью пульта ДУ?
Ответить
@dimm
Хорошо, позволь мне чтобы протестировать еще раз и дать вам отзыв о том, почему иногда это может не работать.
Ответ
спасибо за совет!
Ответ