В редких случаях, но бывает, что во время загрузки больших файлов на веб-сайт возникает ошибка, которую возвращает веб-сервер Nginx - 413 Request Entity Too Large. Ошибка появляется, при попытке загрузить на сервер слишком большой файл чем это разрешено на сервере. Дальше рассмотрим описание ошибки 413 Request Entity Too Large а также методы её исправления на стороне веб-сервера Nginx.
Ошибка 413 или Request Entity Too Large расшифровывается как "объект запроса слишком велик" или простыми словами объем передаваемых данных слишком большой. Ошибка возвращается в случае, если сервер не может обработать запрос по причине слишком большого размера тела запроса (или большого файла). Снимок экрана с ошибкой изображен ниже:
По умолчанию в Nginx установлен лимит на размер тела запроса который равен 1 МБ. Если запрос превышает установленное значение, вы увидите ошибку 413 Request Entity Too Large.
Ошибка 413 "Request Entity Too Large" возникает, когда веб-сервер отклоняет запрос из-за того, что размер тела запроса превышает максимально допустимый размер, установленный на сервере. Это означает, что данные, отправленные в запросе (например, при загрузке файла на сервер), слишком велики для обработки.
Решить проблему:
Если вы не управляете сервером, на который отправляете запрос, обратитесь к администратору сервера или технической поддержке для помощи в решении проблемы с ошибкой 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/file_name_with_configuration
:
Когда ограничение на загрузку необходимо выставить только для конкретного раздела на сайте, строку client_max_body_size
необходимо вписать в директиву location
конфигурационного файла сайта, который по умолчанию находиться в /etc/nginx/sites-available/file_name_with_configuration
:
Как только были внесены изменения в конфигурационные файлы, сохраните их, закройте текстовый редактор и проверьте синтаксис конфигурационных файлов на наличие ошибок при помощи команды:
$ 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.