Главная >> Инструкции >> Ошибка request header or cookie too large Nginx

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

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

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


Содержание статьи

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

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

Для исправления данной ошибки (если вы администратор веб-сервера 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;

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

sudo systemctl reload nginx

Выводы

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

Оставьте свой Email для того чтобы получать анонсы новых статей и полезную информацию о Linux по электронной почте
Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

3 комментария к “Ошибка request header or cookie too large Nginx”

  1. Здравствуйте. Я обычный пользователь и была зарегистрирована на сайте Zoosk. Проблем со входом не было никогда. Но уже два дня не могу зайти на сайт и получаю уведомление, о котором вы пишете. Связаться с администрацией через ФБ не удаётся. Что делать?

    Ответить

Оставьте комментарий