Ошибка request header or cookie too large Nginx

Ошибка 400 Request Header Or Cookie Too Large в веб-сервере Nginx встречается достаточно редко. Данная ошибка означает, что отправленный запрос к веб-серверу слишком большой и был отклонен. Это может происходить по разным причинам.

Например, такое бывает, когда идет переход к веб-сайту из поисковой системы, и какой-то заголовок оказался слишком длинным. В этом случае Nginx «не ожидал» такого большого объёма в заголовке и сбросил соединение. В этой статье будет рассмотрено описание данной ошибки и как ее можно исправить.

Что означает ошибка Request header or cookie too large в Nginx

Ошибка 400 Request Header Or Cookie Too Large воспроизводится, когда размер заголовков HTTP/HTTPS запроса больше допустимого предела. Например, браузер отправляет слишком много Cookie файлов или отправленный запрос к веб-серверу имеет слишком большой размер.

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

H3ieJyKkIgENAAAAAElFTkSuQmCC

Как исправить ошибку Request header or cookie too large в Nginx

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

Для исправления данной ошибки со стороны веб-сервера Nginx необходимо подкорректировать параметр large_client_header_buffers. Данный параметр принимает 2 числа, например 4 и 8 (которые заданы по умолчанию). Первое число - значение, которое задаёт максимальное число буферов, а второе число отвечает за размер буфера, в который считывается заголовок запроса. В второй параметр задаётся в килобайтах.

Данную строку необходимо добавить в секцию http конфигурационного файла конфигурационного файла Nginx или в секцию server для определённого сайта. Конфигурационные файлы веб-сайтов в Nginx обычно хранятся в /etc/nginx/conf.d/ или в /etc/nginx/sites-available/ (в зависимости каким образом был установлен Nginx - при помощи стандартных репозиториев операционной системы или при помощи репозитория Nginx).

Для корректировки значения можно задать числа 8 и 64 подходящие для хранения больших заголовков. В итоге параметр будет выглядеть следующим образом:

large_client_header_buffers 8 64k;

yjWvEa8rErlc8auw9WzuMjlZ0YaWREXGpDL3QiU0PfU1EY+z0qg+BtMpqf3XHRHV0bqtMpL5I14QT5lXNV9CIaYzdXeQ5R9qCEqdicER1ZADfi9WIuPPTwr0fjbVKelISDzC6I2KQPngkCCPK5ME7i91b7MRzA1k0QpQf+P93n2cesT31fAAAAAElFTkSuQmCC

После того как были внесены изменения в конфигурационный файл необходимо перезапустить Nginx при помощи команды:

sudo systemctl reload nginx

Выводы

В этой небольшой статье была рассмотрена ошибка 400 Request Header Or Cookie Too Large Nginx. Если у вас есть доступ к серверу, на котором расположен сайт, на котором возникает данная ошибка, то вы можете исправить ее за несколько минут. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (5 оценок, среднее: 3,60 из 5)
Загрузка...

3 комментария

  1. Сергей 11 февраля, 2022 Ответить
  2. Алиса 5 апреля, 2022 Ответить
    • admin 5 апреля, 2022 Ответить

Ответить

 Для отправки комментариев необходимо принять политику конфиденциальности - политика конфиденциальности