Главная / Справочник ошибок / Веб-сервер
Веб-сервер не принял большой файл
413 Request Entity Too Large (client intended to send too large body)
413 Request Entity Too Large, client intended to send too large body: nginx или ingress отклоняет загрузку большого документа в Directum RX. Где поднять лимит.
Что это значит
Пользователь загружает документ, а веб-сервер перед системой отклоняет запрос, потому что тело больше разрешённого. У nginx лимит по умолчанию 1 МБ. До сервисов RX запрос не доходит, поэтому в их логах пусто, а ошибка есть только в логе веб-сервера.
Если перед системой несколько звеньев (внешний балансировщик, ingress, веб-сервер), лимит действует на каждом. Срабатывает самый маленький.
Как проверить
grep "too large body" /var/log/nginx/error.log | tail
nginx -T 2>/dev/null | grep -n client_max_body_size
В Kubernetes посмотрите аннотации ingress: kubectl describe ingress <имя>.
Что сделать
- nginx: задать
client_max_body_size 500m;в секцииserverилиlocationи выполнитьnginx -s reload. - ingress-nginx: аннотация
nginx.ingress.kubernetes.io/proxy-body-size: "500m". - Проверить все звенья по пути запроса, включая внешний балансировщик и сетевой экран уровня приложений.
- Выбрать значение по самому большому документу, который у вас реально загружают, с запасом.