Как исправить ошибку Request Header Or Cookie Too Large

08.05.2018 Софт

Ошибка Request Header Or Cookie Too Large (Перевод «Request Header Or Cookie Too Large» звучит как «Заголовок запроса или куки слишком большие». ) возникает, когда nginx получает от браузера слишком большой заголовок запроса, это случается когда размер заголовков запроса больше допустимого предела установленного в настройках nginx'а. Например, ваш браузер отправляет на сервер слишком много cookies из-за этого размер запроса может быть достаточно большим и вы можете получать такую ошибку.

Решение проблемы

Для решения проблемы «Request Header Or Cookie Too Large» следует выполнить следующее:

  • закрыть браузер, а потом заново его откройте. Несмотря на простоту данного совета, в некоторых случаях он оказывается довольно эффективным;
  • Временно отключите ваши антивирус и брандмауэр, дабы убедиться, что они не являются виновниками возникшей проблемы;
  • Проверьте ваш компьютер на вирусы, возможно какие то вредоносные программы пытаются перехватить ваш трафик.
  • Очистите кэш и куки вашего браузера.

Если проблема не на стороне клиента, то скорее всего проблема находится на самом сервере.

За максимальный размер передаваемого пакета отвечают три параметра в конфигурации nginx, которые нужно разместить в секции http:

  • client_body_buffer_size - размер буфера для тела запроса;
  • client_header_buffer_size - размер буфера для заголовка;
  • large_client_header_buffers - максимальное количество и размер буфера для чтения большого заголовка.

Для того что бы устранить ее вам надо поправить настройки nginx'а:

http {
   ...
   large_client_header_buffers 4 16k;
   ...
}

Мы установили 4 буфера размером 16Кб каждый (по умолчанию 8Кб или 4Кб)

Далее мы перегружаем nginx через команду: nginx -s reload

Однако если у вас на сервере так же установлен Apache, то может возникнуть еще одна ошибка: «Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit.» Для того чтобы устранить ее нам нужно добавить в конфигурацию сайта следующий параметр:

LimitRequestFieldSize 16380

который так же отвечает за максимальный размер запроса который обработает Apache.