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

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

  1. Как изменить порт Nginx в Linux
  2. Как скрыть версию сервера Nginx в Linux
  3. ngxtop - Мониторинг файлов журнала Nginx в реальном времени в Linux
  4. Как контролировать производительность Nginx с помощью Netdata
  5. Как включить страницу состояния 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

Хорошо, позволь мне чтобы протестировать еще раз и дать вам отзыв о том, почему иногда это может не работать.

Ответ


спасибо за совет!

Ответ

Оцените статью
futurei.ru
Добавить комментарий