413 Request Entity Too Large Nginx


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

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


Ошибка устраняется корректировкой значения одного параметра в конфигурационном файле Nginx. Дополнительно может потребоваться поменять значения двух параметров в настройках PHP. Для корректировки потребуется root доступ на сервер.



Как выглядит ошибка:

413 Request Entity Too Large Nginx


413 Request Entity Too Large Nginx — как исправить ошибку


Максимальный размер файла, загрузка которого возможна определяется директивой client_max_body_size в конфигурационном файле Nginx.



Чтобы ошибка не возникала достаточно отредактировать файл и перезапустить Nginx

mcedit /etc/nginx/nginx.conf


client_max_body_size 100m;


Также можно задать директиву в отдельном файле и подключить его при помощи include в основном конфигурационном файле.

Читайте про структуру файлов с настройками Nginx и используемые контексты.



Тестируем конфигурацию

nginx -t



Если ошибок не выводится (в выводе предыдущей команды должно быть сообщение о том что тест пройден) перезапускаем Nginx

nginx -s reload



Пример вывода при успешно пройденном тесте настроек:

413 Request Entity Too Large Nginx  как исправить ошибку


На этом настройка Nginx  завершена.



Поскольку подобные сообщения часто выводятся при работе в веб-окружении, обычно при установке каких-то тем или плагинов и загрузке архивов с данными задействуется PHP и его лимиты также будут оказывать влияние.



Увеличим лимиты в php.ini


php.ini — файл, в котором задаются настройки PHP.

Расположение файла в системе проще всего определить загрузив в корень сайта phpinfo.php и обратившись к нему через браузер.


В примере путь к файлу /etc/php/php.ini, редактируем его.


mcedit /etc/php/php.ini

upload_max_filesize = 100M

post_max_size = 100M


В phpinfo помимо пути к файлу php.ini можно проверить актуальные настройки PHP и значения параметров таких как upload_max_filesize и post_max_size



Принудительно завершаем все PHP процессы перезапуская веб-сервер. Веб-сервер это apache2 в Debian /Ubuntu, httpd в CentOS, в команде меняется только имя сервиса.

systemctl restart apache2



Если используется конфигурация с php-fpm нужно перезапустить и эту службу

systemctl restart php-fpm



После произведенных настроек ошибка, говорящая о слишком большой длине запроса, более возникать не должна.



С помощью Nginx можно настраивать отказоустойчивые конфигурации веб-серверов с резервированием.

Сказать спасибо