В редких случаях, но бывает, что во время загрузки больших файлов на веб-сайт возникает ошибка, которую возвращает веб-сервер Nginx — 413 Request Entity Too Large. Ошибка появляется, при попытке загрузить на сервер слишком большой файл чем это разрешено на сервере. Дальше рассмотрим описание ошибки 413 Request Entity Too Large а также методы её исправления на стороне веб-сервера Nginx.
Что означает ошибка 413
Ошибка 413 или Request Entity Too Large расшифровывается как «объект запроса слишком велик» или простыми словами объем передаваемых данных слишком большой. Ошибка возвращается в случае, если сервер не может обработать запрос по причине слишком большого размера тела запроса (или большого файла). Снимок экрана с ошибкой изображен ниже:
По умолчанию в Nginx установлен лимит на размер тела запроса который равен 1 МБ. Если запрос превышает установленное значение, вы увидите ошибку 413 Request Entity Too Large.
Как исправить
Для исправления ошибки 413 следует увеличить допустимый лимит. Увеличить размер тела запроса и соответственно, загружаемых файлов, можно путем использования client_max_body_size. Опциюя доступна для использования в директивах http, server или location в конфигурационном файле /etc/nginx/nginx.conf или в конфигурационном файле веб-сайта.
Откройте конфигурационный файл nginx.conf при помощи любого текстового редактора:
$ sudo nano /etc/nginx/nginx.conf
Вписываем строчку в секцию http:
$ client_max_body_size 100M
100 — максимальный размер файла в мегабайтах который можно загрузить на веб-сайт, в данном случае — 100 мегабайт. Если в распоряжении имеется несколько веб-сайтов и необходимо ограничить загрузку на все сайты сразу, то строку client_max_body_size необходимо вписываем в раздел блока http. Если ограничение на загрузку необходимо выставить только для конкретного сайта, то строку client_max_body_size необходимо добавить в блок server конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:
Когда ограничение на загрузку необходимо выставить только для конкретного раздела на сайте, строку client_max_body_size необходимо вписать в директиву location конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:
Как только были внесены изменения в конфигурационные файлы, сохраните их, закройте текстовый редактор и проверьте синтаксис конфигурационных файлов на наличие ошибок при помощи команды:
$ sudo nginx -t
Вы можете увидеть следующие строки:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Это означает что ошибок нет. В противном случае будет выведено описание ошибки, имя файла в котором найдена ошибка и номер строки. После внесения любых изменений в конфигурационные файлы Nginx их необходимо перезапустить при помощи команды:
$ sudo systemctl reload nginx
В этой статье рассмотрена ошибка в Nginx, известная 413 Request Entity Too Large, возникающая при загрузке больших файлов на веб-сайт. Помимо описания самой ошибки также было описаны шаги по устранению ошибки путем редактирования конфигурационных файлов Nginx.
Иногда при загрузке больших файлов на какой-либо веб-сайт может возникнуть ошибка, которую возвращает веб-сервер Nginx — 413 Request Entity Too Large. Данная ошибка появляется, при попытке загрузить на сервер слишком большой файл чем это разрешено на сервере.
В данной небольшой статье будет рассмотрено описание ошибки 413 Request Entity Too Large а также методы её исправления на стороне веб-сервера Nginx.
Ошибка 413 Request Entity Too Large дословно расшифровывается как объект запроса слишком велик или простыми словами объем передаваемых данных слишком большой. Данная ошибка возвращается в случае, если сервер не может обработать запрос по причине слишком большого размера тела запроса (или большого файла). Снимок экрана с ошибкой изображен ниже:
По умолчанию в Nginx установлен лимит на размер тела запроса который равен 1 МБ. Если запрос превышает установленное значение, вы увидите ошибку 413 Request Entity Too Large.
Как исправить ошибку 413 Request Entity Too Large
Для того чтобы исправить данную ошибку необходимо увеличить допустимый лимит. Чтобы увеличить размер тела запроса и соответственно, загружаемых файлов, необходимо использовать параметр client_max_body_size. Данную опцию можно использовать в директивах http, server или location в конфигурационном файле /etc/nginx/nginx.conf или в конфигурационном файле веб-сайта.
Для этого необходимо открыть конфигурационный файл nginx.conf при помощи любого текстового редактора (например nano):
sudo nano /etc/nginx/nginx.conf
Далее впишите такую строчку в секцию http:
client_max_body_size 100M
Здесь 100 — это максимальный размер файла в мегабайтах который можно загрузить на веб-сайт, в данном случае — 100 мегабайт. Если в распоряжении имеется несколько веб-сайтов (серверные блоки в терминологии Nginx, они же виртуальные хосты в понимании другого веб-сервера — Apache) и необходимо чтобы ограничение на загрузку действовало на все сайты сразу, то строку client_max_body_size необходимо вписать в раздел блока http. Как было показано выше.
Если ограничение на загрузку необходимо выставить только для конкретного сайта, то строку client_max_body_size необходимо добавить в блок server конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:
Если ограничение на загрузку необходимо выставить только для конкретного раздела на сайте, строку client_max_body_size необходимо вписать в директиву location конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:
После внесения изменений в конфигурационные файлы необходимо сохранить изменения, закрыть текстовый редактор и проверить синтаксис конфигурационных файлов на наличие ошибок при помощи команды:
sudo nginx -t
Если в выводе команды будут отображены следующие строки:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Это означает что ошибок нет. В противном случае будет выведено описание ошибки, имя файла в котором найдена ошибка и номер строки. После внесения любых изменений в конфигурационные файлы Nginx их необходимо перезапустить при помощи команды:
sudo systemctl reload nginx
Выводы
В данной короткой статье была рассмотрена ошибка в Nginx под названием 413 Request Entity Too Large которая возникает при загрузке больших файлов на веб-сайт. Помимо описания самой ошибки также было описаны шаги по устранению ошибки путем редактирования конфигурационных файлов Nginx.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Бывший системный администратор и DevOps инженер. Ныне работаю по направлению DevSecOps. Использую Linux более 5 лет. Помимо Linux интересую языком программирования Python, базами данных и языком SQL а также информационной безопасностью.
При работе с Chrome или Edge вы можете столкнуться с ошибкой HTTP 413. Вы можете получить сообщение об ошибке, объект запроса слишком велик или ваш клиент выдал вместе с ним слишком большой запрос. Что это за ошибка и как ее исправить? Читайте дальше, чтобы узнать больше об этой ошибке.
Появляется код ошибки HTTP 413 вместе с сообщением об ошибке: Ваш клиент выдал слишком большой запрос. Как говорится в сообщении об ошибке, этот код ошибки появляется, когда размер запроса клиента превышает размер файла сервера. При попытке загрузить большой файл на веб-сервер может появиться эта ошибка, чтобы предупредить клиента об ограничении размера.
Почему появляется ошибка HTTP 413?
Ниже приведены возможные причины этой ошибки.
- Ограниченное пространство для хранения на веб-серверах:
Веб-серверы поставляются с ограничениями на объем памяти. Большие файлы, если они загружены на сервер, могут превысить разрешения на хранение сервера, а также перегрузить сервер. Размер загружаемого файла по умолчанию составляет 49 КБ (49152 байта). Следовательно, эта ошибка возникает, чтобы клиенты не загружали файлы большого размера на сервер. Приложение получает указанную выше ошибку, когда пользователь пытается загрузить файл размером более 49 КБ.
- Тело запроса не загружено предварительно:
Ошибка HTTP 413 возникает для сайтов SSL, когда тело запроса не загружается предварительно во время процесса установления связи SSL.
Чтобы предотвратить эту ошибку, вы можете уменьшить размер загружаемого файла, и эта ошибка будет исправлена. Но иногда вам также может потребоваться внести некоторые изменения на стороне сервера, чтобы изменить ограничение размера файла.
Как исправить ошибку HTTP 413?
Ниже приведены некоторые решения, которые вы можете использовать для исправления ошибки HTTP 413.
- Использование атрибута uploadReadAheadSize для увеличения размера файла на стороне сервера
- Использование параметра maxRequestEntityAllowed для увеличения размера файла на стороне сервера
- Использование атрибута MaxReceivedMessageSize для увеличения размера файла на стороне сервера
- Изменение файла PHP.ini для увеличения размера загрузки PHP
Давайте посмотрим, как применить эти решения.
1]Использование атрибута uploadReadAheadSize для увеличения размера файла на стороне сервера
Одно из первых решений, которое вы можете попробовать, — это увеличить ограничение размера загрузки на веб-серверах. Для этого используйте параметр uploadReadAheadSize в файлах applicationHost.config и web.config, чтобы управлять ограничением размера файла.
загрузитьReadAheadSize является необязательным атрибутом модуля. Он указывает количество байтов, которые веб-сервер будет считывать в буфер и передавать в расширение или модуль ISAPI. Это происходит один раз для каждого запроса клиента. Расширение или модуль ISAPI получает любые дополнительные данные непосредственно от клиента. Значение должно находиться в диапазоне от 0 до 2 147 483 647. Значение по умолчанию для этого параметра — 49 152.
Ниже приведены шаги для изменения значения параметра uploadReadAheadSize:
- Откройте диспетчер IIS.
- Выберите сайт.
- Дважды щелкните Редактор конфигурации.
- Выберите веб-сервер, а затем serverRuntime.
- Изменить uploadReadAheadSize
- Нажмите
2]Использование параметра maxRequestEntityAllowed для увеличения размера файла на стороне сервера
Еще один способ увеличить лимит размера файла на стороне сервера — изменить параметр maxRequestEntityAllowed. Этот параметр указывает максимально допустимое количество байтов в теле запроса.
Обратите внимание, что этот параметр был назван Аспмаксрекуестентититиаллоуедв версиях до IIS 7.0.
Вы можете изменить параметр maxRequestEntityAllowed с помощью appcmd. Для этого выполните следующие шаги.
appcmd set config/section:asp/maxRequestEntityAllowed:int
Переменная int представляет собой максимально допустимое количество байтов во всем теле запроса ASP. Значение по умолчанию — 200 000 байт.
3]Использование атрибута MaxReceivedMessageSize для увеличения размера файла на стороне сервера
Если вышеупомянутые решения не работают, вы можете попробовать изменить параметр MaxReceivedMessageSize, чтобы устранить ошибку HTTP 413.
Иногда вы можете получить следующую ошибку в дополнение к ошибке HTTP 413.
Превышена квота на максимальный размер входящих сообщений (65536). Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize соответствующего элемента привязки.
Как упоминалось в сообщении об ошибке, эта проблема возникает, когда размер файла запроса больше, чем MaxReceivedMessageSize для WCF.
Эту ошибку можно устранить, увеличив значение MaxReceivedMessageSize для веб-службы. Однако при внесении этих изменений может потребоваться изменить два разных параметра MaxReceivedMessageSize. Они заключаются в следующем.
- MaxReceivedMessageSize в System.ServiceModel.Configuration.BasicHttpBindingElement
- MaxReceivedMessageSize в System.ServiceModel.Channels.HttpTransportBindingElement
В таком случае, можешь попробовать следующие настройки:
- Конфигурация для увеличения MaxReceivedMessageSize в ServiceModel.Configuration.BasicHttpBindingElement
- Конфигурация для увеличения MaxReceivedMessageSize в ServiceModel.Channels.HttpTransportBindingElement
4]Изменение файла PHP.ini для увеличения размера загрузки PHP
Иногда вам может потребоваться устранить ошибку HTTP 413, изменив ограничение размера загрузки файла PHP. Ограничение размера загрузки по умолчанию на серверах составляет 2 МБ. Файл конфигурации PHP (php.ini) можно изменить для увеличения или даже уменьшения размера загружаемого файла. Вы можете найти этот файл конфигурации в разных местах в разных дистрибутивах Linux. Ниже указано расположение этого файла.
- Расположение в Cent, RHEL и Fedora: # vim /etc/php.ini
- Расположение в Debian и Ubuntu: #vim /etc/php/7.0/apache2/php.ini
В PHP можно увеличить размер загружаемого файла, изменив параметры upload_max_filesize (10M) и post_max_size (10M) в файле php.ini. Кроме того, вы можете контролировать максимально допустимое количество файлов, которые могут быть загружены в одном запросе, изменив параметр max_file_uploads. По умолчанию это ограничение равно 25.
Таким образом, измените значения следующих параметров:
- max_execution_time (максимальное время загрузки в секундах)
- upload_max_filesize (максимальный размер загружаемого файла в мегабайтах)
- post_max_size (максимальный размер сообщения в мегабайтах)
Вышеупомянутые решения могут помочь вам эффективно справиться с ошибкой HTTP 413. Дайте нам знать ваши отзывы об этих решениях.
Как исправить ошибку 413 в Chrome или Edge?
Теперь это ошибка на уровне сервера, и вы, как конечный пользователь, ничего не можете сделать, кроме как выполнить следующие предложения:
- Проверьте распространенные проблемы с браузером в Chrome: вы можете решить распространенные проблемы в Chrome, очистив данные браузера и очистив сокет.
- Сброс Chrome до заводских настроек. Иногда возврат к заводским настройкам решает многие проблемы. Попробуйте также это решение для устранения ошибки HTTP 413.
- Проверьте сетевой адаптер: сброс настроек сетевого адаптера также помогает устранить ошибку.
Если эти 3 решения не работают, обратитесь к администратору сервера или веб-сайта и сообщите ему или ей об этой ошибке.
Как вы справляетесь со слишком большой полезной нагрузкой 413?
Ошибка 413 Payload too big аналогична ошибке HTTP 413. Обе эти ошибки означают, что размер загружаемых файлов превышает разрешенный размер на серверах.
Содержание
- Ошибка 413 Request Entity Too Large: что это за ошибка и как ее исправить
- Что делать, если вы пользователь
- Исправление ошибки сервера 413 владельцем сайта
- Увеличение разрешенного размера для загрузки файлов на Nginx и Apache
- Исправление ошибки на WordPress
- Исправление ошибки при использовании PHP-скрипта
- 📑 Исправляем ошибку «413 Request Entity Too Large»
- Решение проблемы nginx «413 Request Entity Too Large»
- Ошибка HTTP 413 в Chrome или Edge, как ее исправить?
- Что такое ошибка HTTP 413 в Chrome или Edge
- Почему появляется ошибка HTTP 413?
- Как исправить ошибку HTTP 413?
- Как исправить ошибку 413 в Chrome или Edge?
- Как вы справляетесь со слишком большой полезной нагрузкой 413?
Ошибка 413 Request Entity Too Large: что это за ошибка и как ее исправить
Ошибка HTTP 413 Request Entity Too Large появляется, когда пользователь пытается загрузить на сервер слишком большой файл. Размер определяется относительно лимита, который установлен в конфигурации. Изменить его может только администратор сервера.
Что делать, если вы пользователь
Если вы видите ошибку 413, когда пытаетесь загрузить файл на чужом сайте, то вам нужно уменьшить размер передаваемых данных. Вот несколько ситуаций.
- Если вы пытались загрузить одновременно несколько файлов (форма позволяет так делать), попробуйте загружать их по одному.
- Если не загружается изображение, уменьшите его размер перед загрузкой на сервер. Можно сделать это с помощью онлайн-сервисов — например, Tiny PNG .
- Если не загружается видео, попробуйте сохранить его в другом формате и уменьшить размер. Можно сделать это с помощью онлайн-сервисов — я использую Video Converter .
- Если не загружается PDF-документ, уменьшите его размер. Можно сделать это с помощью онлайн-сервисов — я обычно использую PDF.io .
Универсальный вариант — архивация файла со сжатием. Ошибка сервера 413 появляется только в том случае, если вы пытаетесь одновременно загрузить слишком большой объем данных. Поэтому и выход во всех ситуациях один — уменьшить размер файлов.
Исправление ошибки сервера 413 владельцем сайта
Если вы владелец сайта, который при загрузке файлов выдает ошибку 413, то необходимо изменить конфигурацию сервера. Порядок действий зависит от используемых технологий.
Чтобы понять, что стало причиной ошибки, нужно посмотреть логи. Это поможет сэкономить время. Вот подробная инструкция , которая рассказывает, как посмотреть логи в панели управления Timeweb. В зависимости от того, какая информация будет в логах, вы поймете, как исправлять ошибку 413.
Увеличение разрешенного размера для загрузки файлов на Nginx и Apache
На Nginx максимально допустимый размер файла задан в параметре client_max_body_size. По умолчанию он равен 1 МБ. Если запрос превышает установленное значение, пользователь видит ошибку 413 Request Entity Too Large.
Параметр client_max_body_size находится в файле nginx.conf. Для его изменения нужен текстовый редактор — например, vi.
Подключитесь к серверу через SSH и выполните в консоли следующую команду:
Во встроенном редакторе vi откроется файл nginx.conf. В разделе http добавьте или измените следующую строку:
Сохраните и закройте файл. Затем проверьте конфигурацию файла:
Перезагрузите сервер следующей командой:
После перезагрузки будет действовать новая конфигурация с увеличенным лимитом на размер загружаемого файла.
На Apache опция, устанавливающая максимально допустимый размер загружаемого файла, называется LimitRequestBody. По умолчанию лимит не установлен (равен 0).
На CentOS главный конфиг располагается по адресу /etc/httpd/conf/httpd.conf. На Debian/Ubuntu — по адресу /etc/apache2/apache2.conf.
Значение задается в байтах:
Эта запись выставляет максимально допустимый размер 32 МБ.
Изменить конфиги можно также через панель управления. Я пользуюсь ISPmanager, поэтому покажу на ее примере.
- Раскройте раздел «Домены» и перейдите на вкладку «WWW-домены».
- Выберите домен, на котором появляется ошибка, и нажмите на кнопку «Конфиг».
Появится вкладка с конфигами Apache и Nginx. Вы можете редактировать их вручную, устанавливая лимит на размер загружаемого файла.
Исправление ошибки на WordPress
На WordPress ошибку можно исправить двумя способами.
Способ первый — изменение разрешенного размера в файле functions.php. Этот файл отвечает за добавление функций и возможностей — например, меню навигации.
- Откройте файловый менеджер.
- Перейдите в папку public.html.
- Откройте директорию wp-content/themes.
- Выберите тему, которая используется на сайте с WordPress.
- Скачайте файл functions.php и откройте его через любой текстовый редактор.
В панели управления на Timeweb м ожно также воспользоват ься встроенным редактором или IDE — путь будет такой же, как указан выше: public.html/wp-content/themes/ваша тема/functions.php.
В конце файла functions.php добавьте следующий код:
Сохраните изменения и загрузите модифицированный файл обратно на сервер. Проверьте, появляется ли ошибка 413.
Второй способ — изменение файла .htaccess. Это элемент конфигурации, который способен переопределять конфигурацию сервера в плане авторизации, кэширования и даже оптимизации. Найти его можно через файловый менеджер в папке public.html.
Скачайте файл на компьютер, на всякий случай сделайте резервную копию. Затем откройте .htaccess в текстовом редакторе и после строчки #END WORDPRESS вставьте следующий код:
Сохраните файл и загрузите его обратно на сервер с заменой исходного файла. То же самое можно сделать через встроенный редактор или IDE в панели управления Timeweb.
Исправление ошибки при использовании PHP-скрипта
Если файлы загружаются с помощью PHP-скрипта, то для исправления ошибки 413 нужно отредактировать файл php.ini. В нем нас интересуют три директивы.:
- upload_max_filesize — в ней указан максимально допустимый размер загружаемого файла (значение в мегабайтах);
- post_max_size — максимально допустимый размер данных, отправляемых методом POST (значение в мегабайтах);
- max_execution_time — максимально допустимое время выполнения скрипта (значение в секундах).
Например, если я хочу, чтобы пользователи могли загружать файлы размером до 20 МБ, то я делаю так:
Если все значения указаны верно, то файлы с допустимым размером будут загружаться на сервер без ошибок.
То же самое можно сделать через панель управления. Например, в ISPmanager порядок будет такой:
- Авторизуйтесь с root-правами.
- В левом меню раскройте раздел «Настройки web-сервера» и перейдите на вкладку «PHP».
- Выберите используемую версию и нажмите на кнопку «Изменить».
На экране появится список параметров. Они отсортированы по алфавиту. Установите необходимые значения для параметров max_execution_time, post_max_size и upload_max_filesize. Изменения применяются автоматически.
Источник
📑 Исправляем ошибку «413 Request Entity Too Large»
Ошибка HTTP 413 (Request Entity Too Large Error) означает, что клиент отправил слишком большой запрос на сервер.
Ошибка может возникать при отправке серверу запросов большого объёма (загрузке файлов, к примеру).
При работе с WordPress появляется довольно часто.
Одна из причин — это дефолтные настройки nginx, а точнее параметра client_max_body_size, который по умолчанию равен 1m, то-есть появляется при загрузке файлов больше 1 мегабайта.
Вообще дефолтные настройки — это всегда плохо…
Вот, что по этому поводу говорится на сайте nginx:
Синтаксис: | client_max_body_size размер; |
---|---|
Умолчание: | |
Контекст: | http , server , location |
Задаёт максимально допустимый размер тела запроса клиента, указываемый в поле “Content-Length” заголовка запроса. Если размер больше заданного, то клиенту возвращается ошибка 413 (Request Entity Too Large).
Следует иметь в виду, что браузеры не умеют корректно показывать эту ошибку. Установка параметра размер в 0 отключает проверку размера тела запроса клиента.
Решение проблемы nginx «413 Request Entity Too Large»
В файл nginx.conf, в секцию http , добавить/изменить:
где, 100M — максимальный объём запроса (файла). В данном случае — 100 мегабайт. Приставка M — мегабайты, G — гигабайты. В принципе можно задать и больше, например 512мб.
Источник
Ошибка HTTP 413 в Chrome или Edge, как ее исправить?
При работе с Chrome или Edge вы можете столкнуться с ошибкой HTTP 413. Вы можете получить сообщение об ошибке, объект запроса слишком велик или ваш клиент выдал вместе с ним слишком большой запрос. Что это за ошибка и как ее исправить? Читайте дальше, чтобы узнать больше об этой ошибке.
Что такое ошибка HTTP 413 в Chrome или Edge
Появляется код ошибки HTTP 413 вместе с сообщением об ошибке: Ваш клиент выдал слишком большой запрос. Как говорится в сообщении об ошибке, этот код ошибки появляется, когда размер запроса клиента превышает размер файла сервера. При попытке загрузить большой файл на веб-сервер может появиться эта ошибка, чтобы предупредить клиента об ограничении размера.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Почему появляется ошибка HTTP 413?
Ниже приведены возможные причины этой ошибки.
- Ограниченное пространство для хранения на веб-серверах:
Веб-серверы поставляются с ограничениями на объем памяти. Большие файлы, если они загружены на сервер, могут превысить разрешения на хранение сервера, а также перегрузить сервер. Размер загружаемого файла по умолчанию составляет 49 КБ (49152 байта). Следовательно, эта ошибка возникает, чтобы клиенты не загружали файлы большого размера на сервер. Приложение получает указанную выше ошибку, когда пользователь пытается загрузить файл размером более 49 КБ.
- Тело запроса не загружено предварительно:
Ошибка HTTP 413 возникает для сайтов SSL, когда тело запроса не загружается предварительно во время процесса установления связи SSL.
Чтобы предотвратить эту ошибку, вы можете уменьшить размер загружаемого файла, и эта ошибка будет исправлена. Но иногда вам также может потребоваться внести некоторые изменения на стороне сервера, чтобы изменить ограничение размера файла.
Как исправить ошибку HTTP 413?
Ниже приведены некоторые решения, которые вы можете использовать для исправления ошибки HTTP 413.
- Использование атрибута uploadReadAheadSize для увеличения размера файла на стороне сервера
- Использование параметра maxRequestEntityAllowed для увеличения размера файла на стороне сервера
- Использование атрибута MaxReceivedMessageSize для увеличения размера файла на стороне сервера
- Изменение файла PHP.ini для увеличения размера загрузки PHP
Давайте посмотрим, как применить эти решения.
1]Использование атрибута uploadReadAheadSize для увеличения размера файла на стороне сервера
Одно из первых решений, которое вы можете попробовать, — это увеличить ограничение размера загрузки на веб-серверах. Для этого используйте параметр uploadReadAheadSize в файлах applicationHost.config и web.config, чтобы управлять ограничением размера файла.
загрузитьReadAheadSize является необязательным атрибутом модуля. Он указывает количество байтов, которые веб-сервер будет считывать в буфер и передавать в расширение или модуль ISAPI. Это происходит один раз для каждого запроса клиента. Расширение или модуль ISAPI получает любые дополнительные данные непосредственно от клиента. Значение должно находиться в диапазоне от 0 до 2 147 483 647. Значение по умолчанию для этого параметра — 49 152.
Ниже приведены шаги для изменения значения параметра uploadReadAheadSize:
- Откройте диспетчер IIS.
- Выберите сайт.
- Дважды щелкните Редактор конфигурации.
- Выберите веб-сервер, а затем serverRuntime.
- Изменить uploadReadAheadSize
- Нажмите
2]Использование параметра maxRequestEntityAllowed для увеличения размера файла на стороне сервера
Еще один способ увеличить лимит размера файла на стороне сервера — изменить параметр maxRequestEntityAllowed. Этот параметр указывает максимально допустимое количество байтов в теле запроса.
Обратите внимание, что этот параметр был назван Аспмаксрекуестентититиаллоуедв версиях до IIS 7.0.
Вы можете изменить параметр maxRequestEntityAllowed с помощью appcmd. Для этого выполните следующие шаги.
appcmd set config/section:asp/maxRequestEntityAllowed:int
Переменная int представляет собой максимально допустимое количество байтов во всем теле запроса ASP. Значение по умолчанию — 200 000 байт.
3]Использование атрибута MaxReceivedMessageSize для увеличения размера файла на стороне сервера
Если вышеупомянутые решения не работают, вы можете попробовать изменить параметр MaxReceivedMessageSize, чтобы устранить ошибку HTTP 413.
Иногда вы можете получить следующую ошибку в дополнение к ошибке HTTP 413.
Превышена квота на максимальный размер входящих сообщений (65536). Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize соответствующего элемента привязки.
Как упоминалось в сообщении об ошибке, эта проблема возникает, когда размер файла запроса больше, чем MaxReceivedMessageSize для WCF.
Эту ошибку можно устранить, увеличив значение MaxReceivedMessageSize для веб-службы. Однако при внесении этих изменений может потребоваться изменить два разных параметра MaxReceivedMessageSize. Они заключаются в следующем.
- MaxReceivedMessageSize в System.ServiceModel.Configuration.BasicHttpBindingElement
- MaxReceivedMessageSize в System.ServiceModel.Channels.HttpTransportBindingElement
В таком случае, можешь попробовать следующие настройки:
- Конфигурация для увеличения MaxReceivedMessageSize в ServiceModel.Configuration.BasicHttpBindingElement
- Конфигурация для увеличения MaxReceivedMessageSize в ServiceModel.Channels.HttpTransportBindingElement
4]Изменение файла PHP.ini для увеличения размера загрузки PHP
Иногда вам может потребоваться устранить ошибку HTTP 413, изменив ограничение размера загрузки файла PHP. Ограничение размера загрузки по умолчанию на серверах составляет 2 МБ. Файл конфигурации PHP (php.ini) можно изменить для увеличения или даже уменьшения размера загружаемого файла. Вы можете найти этот файл конфигурации в разных местах в разных дистрибутивах Linux. Ниже указано расположение этого файла.
- Расположение в Cent, RHEL и Fedora: # vim /etc/php.ini
- Расположение в Debian и Ubuntu: #vim /etc/php/7.0/apache2/php.ini
В PHP можно увеличить размер загружаемого файла, изменив параметры upload_max_filesize (10M) и post_max_size (10M) в файле php.ini. Кроме того, вы можете контролировать максимально допустимое количество файлов, которые могут быть загружены в одном запросе, изменив параметр max_file_uploads. По умолчанию это ограничение равно 25.
Таким образом, измените значения следующих параметров:
- max_execution_time (максимальное время загрузки в секундах)
- upload_max_filesize (максимальный размер загружаемого файла в мегабайтах)
- post_max_size (максимальный размер сообщения в мегабайтах)
Вышеупомянутые решения могут помочь вам эффективно справиться с ошибкой HTTP 413. Дайте нам знать ваши отзывы об этих решениях.
Как исправить ошибку 413 в Chrome или Edge?
Теперь это ошибка на уровне сервера, и вы, как конечный пользователь, ничего не можете сделать, кроме как выполнить следующие предложения:
- Проверьте распространенные проблемы с браузером в Chrome: вы можете решить распространенные проблемы в Chrome, очистив данные браузера и очистив сокет.
- Сброс Chrome до заводских настроек. Иногда возврат к заводским настройкам решает многие проблемы. Попробуйте также это решение для устранения ошибки HTTP 413.
- Проверьте сетевой адаптер: сброс настроек сетевого адаптера также помогает устранить ошибку.
Если эти 3 решения не работают, обратитесь к администратору сервера или веб-сайта и сообщите ему или ей об этой ошибке.
Как вы справляетесь со слишком большой полезной нагрузкой 413?
Ошибка 413 Payload too big аналогична ошибке HTTP 413. Обе эти ошибки означают, что размер загружаемых файлов превышает разрешенный размер на серверах.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Источник
Данная ошибка больше интересует вебмастеров, т.к. связана напрямую с настройками сервера и nGinx. В статье исчерпывающая информация по данной ошибке с разбором действий по устранению ошибки 413. В каких случаях возникает ошибка 413? Как исправить ошибку 413 в сжатые сроки? Опыт вебмастеров, которые решили проблему.
Что такое ошибка HTTP 413?
Ошибка 413 — Request Entity Too Large говорит о том, что файл, который вы пытаетесь загрузить на сервер слишком большой для заданной конфигурации сервера. Обычно проблема возникает среди вебмастеров, которые создают свой первый сайт на базе CMS и при этом вообще не разбираются в коде. Как результат – не настроен сервер для обработки и загрузки изображений.
Обратите внимание, что в отличии от ошибки 409, здесь указана конкретная проблема. Здесь нет конфликта между настройками сервера. Нужно просто изменить переменные в настройках, если они доступны для вас в панели управления вашим хостинг аккаунтом.
Вебмастера могут столкнуться с ошибкой 413 Request Entity Too Large при использовании: NGINX, Apache, PHP. Чтобы устранить ошибку 413 нужно внести изменения в настройки, которые приведены ниже. Для этого вам понадобиться доступ к настройкам сервера или придется писать в поддержку хостинга, чтобы они внесли такие изменения (если вам не доступно).
По умолчанию, размер, который разрешен для загрузки – 1 мб. У меня на всех сайтах стоит 32 мб. Для пользователей размер установлен в рамках 4 мб., при этом в случае загрузки изображений на сайт, система автоматически их сжимает. Ниже представлены функции и их местонахождение.
Если у вас NGINX
В дефолтных (стандартных) настройках стоит ограничение в 1 мб. За размер отвечает функция «client_max_body_size». Данная настройка указывает допустимый размер запроса в строке «Content-Length». В случае, когда размер больше 1 мб., возвращается ошибка 413 Request Entity Too Large.
Для решения ищем файл «nginx.conf», а в нем пункт http, где нужно добавит или изменить указанный выше размер функции. Исправляем ошибку 413 примерно вот так:
server {
…
client_max_body_size 64m;
…
}
В данном случае – 64м, это уже измененный допустимый размер, который ранее был 1м. Слишком много не стоит устанавливать, если в этом нет нужды. Почему? Уже не первый раз замечаю, что при больших объемах затрачивается много оперативной памяти и процессорных минут, что может привести к «диалогу» с администрацией хостинга. После установки параметров не забудьте перезагрузить конфиг.
Если у вас PHP
Не всегда все упирается в настройки сервера, но и в настройки PHP. Вне зависимости от версии PHP для изменения допустимого размера загружаемых фалов через PHP скрипты нужно найти файл php.ini. Этот файл обычно находится в папке «etc». Открываем встроенным редактором (если есть) или текстовым редактором, вроде Notepad++. Ищем строки, которые указаны ниже:
Upload_max_filesize
Post_max_size
И устанавливаем в этих строках нужные вам размеры. Например, 8М – это и есть 8 мб. Для скриптов крайне противопоказано устанавливать разрешения на загрузку больших файлов. Также не стоит разрешать загружать произвольные файлы. В случае, если сайтом заинтересован злоумышленник, он легко сможет залить файлы на сайт, которые вам не понравятся.
Если у вас Apache
В отличии от примеров выше, в Apache размер указывается в байтах. Файл для редактирования находится по следующему адресу: /etc/httpd/conf/httpd.conf или /etc/apache/apache.conf. В файле нужно найти и изменить пункт «LimitRequestBody. Ниже пример.
LimitRequestBody 1048576
В данной строчке лимит, который вы задаете – 1048576 или 8 МБ. Никаких букв после цифр ставить не нужно.
Для пользователей
Если вы загружаете фотографию или аватарку на сайт и он выдает ошибку 413, вы решить этот вопрос не сможете, разве только уменьшив размер файла. Помните, что стандартный размер – 1 мб, а значит, если сайт не принимает ваше фото или файл, просто уменьшите его до 1 Мб.
Linux, Программное обеспечение
- 21.01.2015
- 35 064
- 5
- 03.04.2020
- 22
- 21
- 1
- Содержание статьи
- Описание ошибки
- nginx
- Apache
- httpd.conf
- .htaccess
- PHP
- Комментарии к статье ( 5 шт )
- Добавить комментарий
Описание ошибки
413 Request Entity Too Large
Данная ошибка может появиться в том случае, если вы загружаете какой-либо файл на сервер и размер этого файла превышает максимально разрешенный в конфиге в веб-сервера (например, в nginx по умолчанию установлено ограничение в 1 МБ). Для того, чтобы это исправить, необходимо внести определенные правки в файл конфигурации, который может быть разным, в зависимости от используемого веб-сервера. Ниже будут приведены примеры для самых популярных веб-серверов:
nginx
Максимальный размер файла указывается параметром client_max_body_size
. Поэтому, достаточно прописать параметр и новое значение в любой конфиг, который использует nginx для сайта, на котором у вас появилась эта проблема. Получится должно что-то примерно следующее:
server {
...
client_max_body_size 4m;
...
}
Где 4m — это 4 Мб. Для установки лимита в 32 Мб, надо соответственно написать client_max_body_size 32m
, и т. д.
После изменения настроек нужно обязательно перезагрузить конфиг в nginx.
Apache
httpd.conf
Размер файла, допустимого для заливки, можно отрегулировать в главном конфиге Apache, который можно найти по адресу /etc/httpd/conf/httpd.conf
(в CentOS) или /etc/apache2/apache2.conf
(в Debian/Ubuntu). Задается он параметром LimitRequestBody
, и ему можно прописать любое нужное значение в байтах. Например, так выглядит ограничение в 32 МБ:
LimitRequestBody 33554432
Для применения настроек нужно перезагрузить веб-сервер Apache.
.htaccess
Очень часто у веб-сервера Apache для настройки определенного сайта используется файл .htaccess, который лежит в корневой директории веб-сайта. Удобство данного метода в том, что Вы можете прописать нужные настройки, которые будут применяться только для данной директории и веб-сайта, который данную директорию использует.
Если используемый для загрузки скрипт находится в какой-то поддиректории, где имеется свой файл .htaccess, то его настройки будут иметь больший приоритет!
Для этого, нужно либо открыть уже существующий файл .htaccess (или создать, в случае отсутствия) и добавить туда следующие строки (32 МБ в байтах):
LimitRequestBody 33554432
Если для работы сайта и заливки файла используется PHP, то нужно добавить еще другую строчку:
php_value upload_max_filesize 32M
PHP
Если при заливке файла используется PHP скрипт, то для PHP имеются отдельные настройки максимального размера файла. Для их изменений потребуется внести правку в файл php.ini, который расположен по адресу /etc/<версия php>/fpm. Открываем его любым текстовым редактором и находим следующие строки:
upload_max_filesize
post_max_size
И выставляем им нужные значения, например 4M (т. е. 4 МБ).
После внесения правок просто перезагружаем php, и проверяем работу.