Main > Abyss > Как исправить ошибку 413 Request Entity Too Large

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

26.01.2020 0 comments » Views: 4,325

Толстячок любит пожрать

При загрузке файла в свой блог, столкнулся с ошибкой "413 Request Entity Too Large". Быстрое гугление показало, что для исправления, нужно чуть поднастроить веб-сервер..

Что означает ошибка "413 Request Entity Too Large"

Ошибка "413 Request Entity Too Large" переводится как "Размер запроса слишком большой" возникает когда размер запроса от клиента превышает максимальные ограничения установленные для обработки на стороне веб-сервера. Такие ограничение применяют для защиты от атак направленных на увеличение нагрузки на веб-сервер.

Например, в моем случае, я попытался загрузить gif-ку размер которой был около 2 мб. Соответственно мой браузер отправил POST запрос на веб-сервер, примерно такого же размера. В результате я получил ошибку "Request entity too large" от веб-сервера, о том, что мой запрос слишком большой для дальнейшей обработки.

Как исправить ошибку "413 Request Entity Too Large" со стороны клиента

Самый простой способ, это уменьшить размер запроса. Тут многое зависит от того, что именно вы отправляете на сервер.

Если это форма с несколькими файлами, попробуйте загружать файлы по одному.

Если это какие-то документы и есть возможность, попробуйте их заархивировать.

Если это картинка, попробуйте её сохранить в другом формате, например уменьшить разрешение и сохранить в JPG.

У Вас Jpeg

У Вас Jpeg

Как исправить ошибку "413 Request Entity Too Large" на стороне Nginx веб-сервера

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

В nginx, за это отвечает опция client_max_body_size: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
Значение по-умолчанию: 1Мб

Данную опцию можно использовать в следующих контекстах: http, server, location. Т.е. можно задать глобальное значение, значение для домена и значение для конкретного адреса url.

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

Для этого добавляем нужное значение (в моем случае это 16 Мб) в главный файл конфигурации

далее, проверяем конфигурацию и перезапускаем nginx

Пример конфигурации в других контекстах

Как исправить ошибку "413 Request Entity Too Large" на стороне Apache веб-сервера

В Apache эта опция называется LimitRequestBody: https://httpd.apache.org/docs/2.4/mod/core.html#LimitRequestBody
По-умолчанию лимит не установлен (равен 0). Размер задается в байтах

Данную опцию можно использовать в следующих контекстах: server config, virtual host, directory, .htaccess. Т.е. можно задать глобальное значение, значение для домена, значение для конкретного url, а так же модифицировать его через .htaccess

Пример конфигурации VirtualHost

Пример изменения конфигурации в .htaccess

Заключение

В современном мире знать и уметь все не возможно. Для решения повседневных проблем самое главное умение - это уметь искать нужную информацию в интернете. Если Вы это читаете, то у Вас все хорошо 🙂

Уметь гуглить полезно

Author: | Rating: 4/5 | Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>