Ошибка 400 Request Header Or Cookie Too Large в веб-сервере Nginx встречается достаточно редко. Данная ошибка означает, что отправленный запрос к веб-серверу слишком большой и был отклонен. Это может происходить по разным причинам.
Например, такое бывает, когда идет переход к веб-сайту из поисковой системы, и какой-то заголовок оказался слишком длинным. В этом случае Nginx «не ожидал» такого большого объёма в заголовке и сбросил соединение. В этой статье будет рассмотрено описание данной ошибки и как ее можно исправить.
Содержание статьи
- Что означает ошибка Request header or cookie too large в Nginx
- Как исправить ошибку Request header or cookie too large в Nginx
- Выводы
Что означает ошибка Request header or cookie too large в Nginx
Ошибка 400 Request Header Or Cookie Too Large воспроизводится, когда размер заголовков HTTP/HTTPS запроса больше допустимого предела. Например, браузер отправляет слишком много Cookie файлов или отправленный запрос к веб-серверу имеет слишком большой размер.
Запрос принято разделять на две части: заголовки - где находится общая информация и мета данные, и тело запроса. Тело запроса, как и заголовок может быть разного размера - как маленьким, так и большим и его размер как правило не вызывает никаких проблем. Однако если в настройках веб-сервера задан параметр на ограничение длины заголовка запроса, то есть вероятность получить данную ошибку. Скриншот с ошибкой изображён ниже:
Как исправить ошибку 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 подходящие для хранения больших заголовков. В итоге параметр будет выглядеть следующим образом:
После того как были внесены изменения в конфигурационный файл необходимо перезапустить Nginx при помощи команды:
sudo systemctl reload nginx
Выводы
В этой небольшой статье была рассмотрена ошибка 400 Request Header Or Cookie Too Large Nginx. Если у вас есть доступ к серверу, на котором расположен сайт, на котором возникает данная ошибка, то вы можете исправить ее за несколько минут. Если у вас остались вопросы, спрашивайте в комментариях!
Как решить эту проблему на зимбре 9?
Здравствуйте. Я обычный пользователь и была зарегистрирована на сайте Zoosk. Проблем со входом не было никогда. Но уже два дня не могу зайти на сайт и получаю уведомление, о котором вы пишете. Связаться с администрацией через ФБ не удаётся. Что делать?
Вы тут ничего не можете сделать. Надо только ждать пока эту ошибку исправит администрация.