Ошибка 413 Request Entity Too Large – что значит, как исправить?

Приходилось ли вам сталкиваться с сообщением об ошибке 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 в будущем.

Всё ещё остались вопросы?