Ошибка 413 Request Entity Too Large (в переводе «объект запроса слишком велик») — это стандартный ответ HTTP, который означает сбой при передаче содержимого на веб-сервер. Синонимы: 413 Payload Too Large, 413 Content Too Large. Проблема возникает, когда клиент пытается загрузить слишком большие файлы, а тело запроса превышает установленный лимит.
Частая причина — попытка передать тяжелое изображение или архив. В ответ система закрывает соединение или возвращает заголовок Retry-After. Визуально error 413 выглядит так:
Если текущий максимальный порог (по умолчанию 1 МБ в базовой конфигурации Nginx) превышен, сервер вернет статус 413.
Простыми словами, этот код — прямой сигнал о превышении допустимых ограничений на загрузку.
- Что такое ошибка Request Entity Too Large
- Примеры этой ошибки
- Как исправить 413 в Nginx, Apache, PHP, WordPress, IIS (для владельца сайта и разработчика)
- Как исправить ошибку Request Entity Too Large для пользователя
- Коротко о главном
Что такое ошибка Request Entity Too Large
Подобная ситуация случается в работе любого проекта. Соответствующий статус отдается, когда инфраструктура получает чрезмерно объемный пакет данных. Объектом выступает медиаконтент, скрипт или другой ресурс. Обычно появляется ошибка при попытке залить тяжелое видео или объемный массив информации.
Ограничение способно сработать на любой стороне — CDN, прокси, WAF, непосредственно веб-сервер (Nginx, Apache, IIS), язык выполнения (PHP) или само приложение.
Примеры этой ошибки
Рассмотрим типовые сценарии, когда возникает ошибка из-за превышения объема.
«Тяжёлый» медиафайл
Классический пример — загрузка видео объемом 5 ГБ на хостинг, где установлен максимальный порог в 1 ГБ. Аналогичная проблема возникает при передаче резервной копии базы данных весом 10 ГБ в облако с лимитом 2 ГБ. Еще один вариант — прикрепление нескольких десятков фотографий к одному посту, суммарный вес которых достигает сотен мегабайт.
Чрезмерно длинный текст
Сбой случается и при отправке огромных текстовых массивов. Например, попытка опубликовать лонгрид на 50 000 слов через форму, рассчитанную максимум на 5 000 символов.
Во всех перечисленных ситуациях инфраструктура отклоняет запрос, защищаясь от перегрузки и потенциального отказа в обслуживании (DDoS).
Очевидное решение для рядового посетителя — сжать отправляемые материалы. Однако для администраторов требуются технические корректировки.
Как исправить 413 в Nginx, Apache, PHP, WordPress, IIS (для владельца сайта и разработчика)
Имея доступ к управление проектом, необходимо работать с конфигурацией сервера. Ниже приведена инструкция по устранению проблемы для популярных стеков.
Быстрый чеклист исправления 413 (серверные лимиты)
- Nginx: В настройках сервера (в конфиге сайта или файле nginx conf, контекст
server) нужно добавить или изменить директиву:client_max_body_size 100m;. Затем проверяем синтаксисnginx -tи перезапускаем службу (в Linux/Ubuntu командаsystemctl reload nginx). - Apache: В конфигурационный файл (httpd.conf, apache2.conf или .htaccess) вписываем параметр
LimitRequestBody 104857600(значение в байтах). После этого тестируемapache2ctl -tи обновляемsystemctl reload apache2. - PHP: В файле php.ini (или .user.ini) корректируем значения:
upload_max_filesize = 100Mиpost_max_size = 100M. Важно:post_max_sizeобязан быть больше или равен лимиту загрузки. При необходимости расширяемmemory_limitи рестартуем PHP-FPM. - WordPress: Для связки серверов nginx apache с mod_php прописываем в .htaccess:
php_value upload_max_filesize 100Mиphp_value post_max_size 100M. Альтернатива — задать настройки в файле wp-config.php через@ini_set. - IIS: В web.config добавляем
<requestLimits maxAllowedContentLength="104857600" />, затем выполняемiisreset.
Мини-диагностика: кто именно возвращает 413
До внесения правок определите, где именно блокируется передача. Иначе исправление не даст результата.
- Проверьте заголовки ответа (
Server,Via) через инструменты разработчика. По ним легко вычислить источник: прокси, балансировщик или приложение. - Изучите логи веб-серверов. Для Nginx используйте команду
tail -n 100 /var/log/nginx/error.log. Для Apache —tail -n 100 /var/log/apache2/error.log. Для PHP-FPM ищите ошибки черезgrep -i "upload\|post" /var/log/php*. - Выполните тест через консоль:
curl -F "file=@big.bin" https://ваш-домен/upload -i. Мгновенный отбой значит, что лимит стоит на внешнем слое. Задержка перед ошибкой указывает на ограничения внутри PHP. - После сохранения новых параметров выполните проверку синтаксиса (
nginx -tилиapache2ctl -t) и убедитесь черезphpinfo(), что решение ошибки сработало.
Увеличьте лимиты сервера
Регулярные отказы при загрузке контента негативно влияют на поведенческие факторы, что косвенно бьет по SEO и продвижению. Если самостоятельная настройка вызывает трудности, запросите помощь у техподдержки, обратившись к хостинг-провайдеру.
Установите ограничение на размер файла
Чтобы предотвратить загрузку неадекватно больших файлов, внедрите валидацию на стороне клиента и бэкенда. Реализовать это можно силами разработчиков или через готовые модули для вашей CMS.
Предоставьте план действий
Информируйте аудиторию сайта о проблеме и допустимых форматах. Разместите подсказки рядом с формами загрузки или напишите подробную статью в корпоративный блог. Понятный интерфейс снижает процент отказов.
Как исправить ошибку Request Entity Too Large для пользователя
Перед отправкой объемных данных изучите правила площадки. Информация о лимитах часто публикуется в разделе FAQ (частый вопрос) или в официальной документации (в том числе на сегменте ru).
Сделайте компрессию
Базовое правило — предварительное сжатие. Использование архиваторов (WinRAR, 7-Zip) или сервисов оптимизации изображений радикально уменьшает вес исходника.
Разделите файл
Если архив остается слишком тяжелым, разбейте его на несколько томов.
- Кликните правой кнопкой мыши по исходнику и выберите «Добавить в архив».
- В настройках архиватора укажите метод «Без сжатия» (если это уже сжатый формат) и задайте точный размер тома в поле «Разделить на части».
- Нажмите OK и загружайте полученные части поочередно.
Обратитесь к администратору сервера
Если ограничения обойти не удается, свяжитесь с технической поддержкой ресурса. Индивидуально менять конфигурацию ради одного клиента вряд ли станут, но могут предоставить прямой FTP-доступ или альтернативный шлюз.
Коротко о главном
- Статус 413 означает превышение допустимого объема передаваемых данных.
- Любой сервер имеет жестко заданные лимиты для защиты от перегрузок.
- Игнорирование этих настроек ведет к падению производительности и отказам в обслуживании.
- Пользователям следует сжимать или дробить информацию перед отправкой.
- Администраторам необходимо корректировать параметры
client_max_body_size,LimitRequestBody,upload_max_filesizeв зависимости от используемого стека.
Комментарии (4)
Оставить комментарий