Исправляем ошибку: 413 Request Entity Too Large

  • 21.01.2015
  • 37 978
  • 6
  • 03.04.2020
  • 23
  • 21
  • 2
Исправляем ошибку: 413 Request Entity Too Large

Описание ошибки

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, и проверяем работу.

Была ли эта статья Вам полезна?

Комментарии к статье (6)

    • Гость

    для чайников ничего непонятно

    • Андрей

    А мне помогло, просто добавил строчку в конфигурацию apache LimitRequestBody, и перезапустил сервер)

    • Hybrid

    Мусор а не статья ничего не помогло страшно представить как человеку который не понимает в этом ничего

      • Recluse

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

    • Гость

    я как ничего не понимающий в этом человек ничего не понял из данной статьи

      • AJIekceu4

      Поэтому, нужно нанимать того, кто в этом разбирается, либо тратить свое время и разбираться самостоятельно. Статья тут не причем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.