Удаленный сервер возвратил ошибку 413 request entity too large

Ошибка HTTP 413 Request Entity Too Large появляется, когда пользователь пытается загрузить на сервер слишком большой файл. Размер определяется относительно лимита, который установлен в конфигурации. Изменить его может только администратор сервера. 

Что делать, если вы пользователь

Если вы видите ошибку 413, когда пытаетесь загрузить файл на чужом сайте, то вам нужно уменьшить размер передаваемых данных. Вот несколько ситуаций.

  • Если вы пытались загрузить одновременно несколько файлов (форма позволяет так делать), попробуйте загружать их по одному.
  • Если не загружается изображение, уменьшите его размер перед загрузкой на сервер. Можно сделать это с помощью онлайн-сервисов — например, Tiny PNG.
  • Если не загружается видео, попробуйте сохранить его в другом формате и уменьшить размер. Можно сделать это с помощью онлайн-сервисов — я использую Video Converter.
  • Если не загружается PDF-документ, уменьшите его размер. Можно сделать это с помощью онлайн-сервисов — я обычно использую PDF.io.

Универсальный вариант — архивация файла со сжатием. Ошибка сервера 413 появляется только в том случае, если вы пытаетесь одновременно загрузить слишком большой объем данных. Поэтому и выход во всех ситуациях один — уменьшить размер файлов.

Ошибка 413

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Исправление ошибки сервера 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 добавьте или измените следующую строку:

client_max_body_size 20M;

Сохраните и закройте файл. Затем проверьте конфигурацию файла:

Перезагрузите сервер следующей командой:

После перезагрузки будет действовать новая конфигурация с увеличенным лимитом на размер загружаемого файла.

На Apache опция, устанавливающая максимально допустимый размер загружаемого файла, называется LimitRequestBody. По умолчанию лимит не установлен (равен 0). 

На CentOS главный конфиг располагается по адресу /etc/httpd/conf/httpd.conf. На Debian/Ubuntu — по адресу /etc/apache2/apache2.conf

Значение задается в байтах:

LimitRequestBody 33554432

Эта запись выставляет максимально допустимый размер 32 МБ.

Изменить конфиги можно также через панель управления. Я пользуюсь ISPmanager, поэтому покажу на ее примере.

  1. Раскройте раздел «Домены» и перейдите на вкладку «WWW-домены».
  2. Выберите домен, на котором появляется ошибка, и нажмите на кнопку «Конфиг».

Apache и Nginx конфиги

Появится вкладка с конфигами Apache и Nginx. Вы можете редактировать их вручную, устанавливая лимит на размер загружаемого файла.

Исправление ошибки на WordPress

На WordPress ошибку можно исправить двумя способами.

Способ первый — изменение разрешенного размера в файле functions.php. Этот файл отвечает за добавление функций и возможностей — например, меню навигации.

  1. Откройте файловый менеджер.
  2. Перейдите в папку public.html.
  3. Откройте директорию wp-content/themes.
  4. Выберите тему, которая используется на сайте с WordPress.
  5. Скачайте файл functions.php и откройте его через любой текстовый редактор.

В панели управления на Timeweb можно также воспользоваться встроенным редактором или IDE — путь будет такой же, как указан выше: public.html/wp-content/themes/ваша тема/functions.php

В конце файла functions.php добавьте следующий код: 

@ini_set( 'upload_max_size' , '256M' );

@ini_set( 'post_max_size', '256M');

@ini_set( 'max_execution_time', '300' );

Сохраните изменения и загрузите модифицированный файл обратно на сервер. Проверьте, появляется ли ошибка 413. 

Редактирование файла functions.php

Второй способ — изменение файла .htaccess. Это элемент конфигурации, который способен переопределять конфигурацию сервера в плане авторизации, кэширования и даже оптимизации. Найти его можно через файловый менеджер в папке public.html.

Скачайте файл на компьютер, на всякий случай сделайте резервную копию. Затем откройте .htaccess в текстовом редакторе и после строчки #END WORDPRESS вставьте следующий код:

php_value upload_max_filesize 999M

php_value post_max_size 999M

php_value max_execution_time 1600

php_value max_input_time 1600

Сохраните файл и загрузите его обратно на сервер с заменой исходного файла. То же самое можно сделать через встроенный редактор или IDE в панели управления Timeweb.

Исправление ошибки при использовании PHP-скрипта

Если файлы загружаются с помощью PHP-скрипта, то для исправления ошибки 413 нужно отредактировать файл php.ini. В нем нас интересуют три директивы.:

  • upload_max_filesize — в ней указан максимально допустимый размер загружаемого файла (значение в мегабайтах);
  • post_max_size — максимально допустимый размер данных, отправляемых методом POST (значение в мегабайтах);
  • max_execution_time — максимально допустимое время выполнения скрипта (значение в секундах).

Например, если я хочу, чтобы пользователи могли загружать файлы размером до 20 МБ, то я делаю так:

max_execution_time = 90

post_max_size = 20M

upload_max_filesize = 20M

Если все значения указаны верно, то файлы с допустимым размером будут загружаться на сервер без ошибок.

То же самое можно сделать через панель управления. Например, в ISPmanager порядок будет такой:

  1. Авторизуйтесь с root-правами.
  2. В левом меню раскройте раздел «Настройки web-сервера» и перейдите на вкладку «PHP».
  3. Выберите используемую версию и нажмите на кнопку «Изменить».

Изменение конфигурации PHP

На экране появится список параметров. Они отсортированы по алфавиту. Установите необходимые значения для параметров max_execution_time, post_max_size и upload_max_filesize. Изменения применяются автоматически.

VDS Timeweb арендовать

Иногда при загрузке больших файлов на какой-либо веб-сайт может возникнуть ошибка, которую возвращает веб-сервер Nginx — 413 Request Entity Too Large. Данная ошибка появляется, при попытке загрузить на сервер слишком большой файл чем это разрешено на сервере.

В данной небольшой статье будет рассмотрено описание ошибки 413 Request Entity Too Large а также методы её исправления на стороне веб-сервера Nginx.

Ошибка 413 Request Entity Too Large дословно расшифровывается как объект запроса слишком велик или простыми словами объем передаваемых данных слишком большой. Данная ошибка возвращается в случае, если сервер не может обработать запрос по причине слишком большого размера тела запроса (или большого файла). Снимок экрана с ошибкой изображен ниже:

wP47iP96W9YvAAAAABJRU5ErkJggg==

По умолчанию в 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

u5OMyOApCqZjMZNjHz4K0trEFvM5Pj+P8DzCrRn+soy7wAAAAASUVORK5CYII=

Далее впишите такую строчку в секцию http:

client_max_body_size 100M

Здесь 100 — это максимальный размер файла в мегабайтах который можно загрузить на веб-сайт, в данном случае — 100 мегабайт. Если в распоряжении имеется несколько веб-сайтов (серверные блоки в терминологии Nginx, они же виртуальные хосты в понимании другого веб-сервера — Apache) и необходимо чтобы ограничение на загрузку действовало на все сайты сразу, то строку client_max_body_size необходимо вписать в раздел блока http. Как было показано выше.

Если ограничение на загрузку необходимо выставить только для конкретного сайта, то строку client_max_body_size необходимо добавить в блок server конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:

8H6OBHbwZnuAcAAAAASUVORK5CYII=

Если ограничение на загрузку необходимо выставить только для конкретного раздела на сайте, строку client_max_body_size необходимо вписать в директиву location конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/имя_файла_с_конфигурацией:

KxgCLvBCQMwAAAAASUVORK5CYII=

После внесения изменений в конфигурационные файлы необходимо сохранить изменения, закрыть текстовый редактор и проверить синтаксис конфигурационных файлов на наличие ошибок при помощи команды:

sudo nginx -t

j8OjMTx6bbbpAAAAABJRU5ErkJggg==

Если в выводе команды будут отображены следующие строки:

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.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Бывший системный администратор и DevOps инженер. Ныне работаю по направлению DevSecOps. Использую Linux более 5 лет. Помимо Linux интересую языком программирования Python, базами данных и языком SQL а также информационной безопасностью.

Приходилось ли вам сталкиваться с сообщением об ошибке 413 request entity too large при работе в интернете? Эта ошибка довольно распространена и может быть вызвана несколькими различными причинами. В этой статье мы рассмотрим её значение, способы устранения проблем и случаи, когда она может возникнуть.

Что означает ошибка 413 Request Entity Too Large

Ошибка 413 — это код состояния http, который указывает на то, что у сервера не получилось обработать запрос, поскольку объект запроса (данные, отправленные клиентом) слишком велик. Другими словами, когда вы пытаетесь получить доступ к веб-сайту или веб-странице, ваш браузер отправляет запрос с изображениями или видео, размер которых превышает возможности сервера.

Наиболее распространенной причиной её возникновения является то, что на сервере установлено ограничение на величину загружаемых файлов. Оно нужно для того, чтобы предотвратить одновременную отправку слишком большого количества данных любым пользователем, а также в целях безопасности. Этот лимит можно регулировать в зависимости от ваших конкретных потребностей, но если он слишком мал, то вы можете часто сталкиваться с этой ошибкой.

Исправление ошибки сервера 413: для владельцев сайта

Для начала стоит изучить логи сервера – файлы, в которых записываются происходящие на нём события. Они содержат сведения о запросах к серверу и его ответы.  

Логи также могут содержать информацию об ошибках и других проблемах, возникших на веб-сервере во время его работы. Они предоставляют бесценную информацию о работе вашего сайта и полезны для выявления проблем или потенциальных угроз безопасности. Анализируя их, вы можете улучшить производительность или усилить безопасность.

Когда определите причину неисправности, можете выбрать соответствующий способ решения проблемы.

Увеличение лимита размера для загрузки файлов на Apache, Nginx

Одним из наиболее распространенных ограничений на хостинге является лимит на величину загружаемых файлов. Если сайт требует от пользователей загрузки больших файлов, то может понадобиться оптимизировать параметры на серверах apache и nginx.

Процесс включает в себя внесение изменений в конфигурационных файлах, поэтому действовать будем в текстовом редакторе.

Выполняем подключение по SSH, пишем команду, чтобы открыть нужный файл.

vi /etc/nginx/nginx.conf

Находим раздел http и меняем строку

client_max_body_size 20M;

Если этой строки нет, её нужно вписать.

Сохраняем изменения и закрываем файл, после чего выполняем проверку.

$ sudo nginx -t

Затем отправляем сервер на перезагрузку, после чего изменения вступят в силу

# nginx -s reload

На Apache лимит обычно отсутствует вообще, то есть равен 0. Нам нужна опция, определяющая максимальную величину для файлов, которые загружают администраторы или пользователи, она называется «LimitRequestBody». Ищем его в главном конфигурационном файле.

Теперь выражаем значение в байтах. В данном случае мы указали лимит в 32 МБ.

LimitRequestBody 33554432

Также изменения можно провести в панели управления. Рассмотрим, как исправить ошибку 413 в ISPmanager.

В вертикальном меню слева ищем раздел «Домены», в нём кликаем на вкладку «WWW-домены».

Кликаем на домен, который выдаёт ошибку, нажимаем кнопку «Конфиг».

Откроются поля с конфигами Apache и Nginx, где мы можем устанавливать подходящие значения.

Исправление ошибки 413 на WordPress

Если вы используете WordPress, то существуют плагины, позволяющие увеличить максимальный размер загружаемых файлов, чтобы избежать этой проблемы в будущем. 

Предусмотрено два варианта действий.

  1. В functions.php
  • Заходим в файловый менеджер и открываем папку public.html. 
  • Открываем директорию wp-content/themes.
  • Выбираем тему, применяемую на рассматриваемой странице.
  • Скачиваем файл functions.php, открываем его в текстовом редакторе. 
  • Добавляем в конце его следующие значения.

@ini_set( ‘upload_max_size’ , ‘256M’ );

@ini_set( ‘post_max_size’, ‘256M’);

@ini_set( ‘max_execution_time’, ‘300’ );

Сохраняем изменения, выходим и выполняем проверку.

  1. Редактирование .htaccess.

Этот файл расположен в той же папке, скачиваем его на ПК. 

Открываем в редакторе и находим строку #END WORDPRESS. После неё добавляем строки.

php_value upload_max_filesize 999M

php_value post_max_size 999M

php_value max_execution_time 1600

php_value max_input_time 1600

Сохраняем изменения, файл загружаем обратно. 

Изменения также можно внести через панель управления или встроенный редактор.

Исправление ошибки 413 при использовании PHP-скрипта

Если на вашем сайте используются php-скрипты, то регулировка лимита также поможет уменьшить количество ошибок, связанных с загрузкой больших файлов.

Нам требуется внести изменения в файл php.ini.

Находим соответствующие директивы и меняем параметры, как в примере.

max_execution_time = 90

post_max_size = 20M

upload_max_filesize = 20M

Второй способ редактирования – через панель управления.

  • Заходим и авторизовываемся как суперпользователь.
  • В вертикальном меню кликаем на «Настройки web-сервера», а в правой части окна выбираем «PHP».
  • Открываем нужную версию, нажимаем кнопку «Изменить». 

Вы увидите перечень параметров в алфавитном порядке для удобного поиска. Поставьте значения, аналогичные примеру выше. 

Исправление ошибки сервера 413: для пользователя

По сути, рекомендация для пользователей одна – необходимо сделать файлы для загрузки маленькими. А способы для разных форматов могут отличаться. 

  1. Когда требуется загрузка сразу нескольких файлов, загружать их следует по очереди, даже если функционалом предусмотрена возможность массовой загрузки.
  2. Сжимайте картинки перед загрузкой, это можно сделать практически в любом редакторе или онлайн-сервисе.
  3. Измените формат видео и тоже попробуйте его сжать. 
  4. Для загрузки документов актуальна архивация с сжатием. 

Использование сжатых форматов, таких как zip, также может помочь значительно уменьшить общий размер файлов, сохраняя при этом одинаковый уровень качества для всех типов данных, упомянутых выше, тем самым устраняя шансы столкнуться с ошибкой 413 в будущем.

I had the same issue but in docker. when I faced this issue, added client_max_body_size 120M; to my Nginx server configuration,

nginx default configuration file path is /etc/nginx/conf.d/default.conf

server {
    client_max_body_size 120M;
    ...

it resizes max body size to 120 megabytes. pay attention to where you put client_max_body_size, because it effects on its scope. for example if you put client_max_body_size in a location scope, only the location scope will be effected with.

after that, I did add these three lines to my PHP docker file

RUN echo "max_file_uploads=100" >> /usr/local/etc/php/conf.d/docker-php-ext-max_file_uploads.ini
RUN echo "post_max_size=120M" >> /usr/local/etc/php/conf.d/docker-php-ext-post_max_size.ini
RUN echo "upload_max_filesize=120M" >> /usr/local/etc/php/conf.d/docker-php-ext-upload_max_filesize.ini

since docker PHP image automatically includes all setting files from the path (/usr/local/etc/php/conf.d/) into php.ini file, PHP configuration file will change by these three lines and the issue must disappear

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

  • Удаленный сервер возвратил ошибку 409 конфликт
  • Ударение общение дремота красивее ворота позвонишь ошибка беречь коридор детектив компьютер
  • Удаленный сервер возвратил ошибку 407 требуется проверка подлинности посредника
  • Уволить управляющего банком ошибка
  • Удар нанесен тупым орудием возможно головой тип ошибки