Ошибка 400 Request Header Or Cookie Too Large

Заметил ошибку 400 (Request Header Or Cookie Too Large), при переходе на один из моих сайтов посредством поиска в Яндексе. Судя по тому, что пишут бывалые в этих ваших интернетах, то сталкивались многие. Однако не многие постарались объяснить, что это на самом деле и как исправить.

Суть ошибки оказалась до смешного проста. При переходе из поисковых результатов яндекса, браузер тянет на сайт огромное количество лишней инфы, в частности длинную реферальную ссылку, которая иногда превышает лимит сервера на заголовки. Решается следующим способом:

Редактируем файл: /etc/nginx/nginx.conf

Добавляем примерно следующие строки:

Максимальный размер буфера для хранения тела запроса клиента
client_body_buffer_size 8k;
### Максимальный размер буфера для хранения заголовков запроса клиента
client_header_buffer_size 8k;
### Максимальный размер тела запроса клиента, прописанный в поле Content-Length заголовка. Если сервер должен поддерживать загрузку файлов, это значение необходимо увеличить
client_max_body_size 10m;
### Количество и размер буферов для чтения большого заголовка запроса клиента
large_client_header_buffers 4 8k;
#### Таймаут при чтении тела запроса клиента
client_body_timeout 10;
### Таймаут при чтении заголовка запроса клиента
client_header_timeout 10;
### Таймаут, по истечению которого keep-alive соединение с клиентом не будет закрыто со стороны сервера
keepalive_timeout 65;
### Таймаут при передаче ответа клиенту
send_timeout 10;

Делаем перезагрузку конфигурации: root@server:~# /etc/init.d/nginx reload