Грешката"заглавието на заявката или "бисквитката" е твърде голяма
" в Nginx се появява, когато размерът на заглавията на заявките или на "бисквитките" надхвърля максимално допустимия размер, който е зададен в конфигурацията на сървъра. В тази статия ще анализираме подробно защо се случва това.
Грешката се появява, когато размерът на HTTP/HTTPS заглавията на заявките надхвърли позволеното ограничение. Например браузърът изпраща твърде много бисквитки или заявката, изпратена до уеб сървъра, е твърде голяма.
Заявката обикновено се разделя на две части: заглавия - където се намират общата информация и метаданните, и тяло на заявката. Тялото на заявката, както и хедърът, могат да бъдат с различни размери - както малки, така и големи, като размерът им обикновено не създава проблеми. Ако обаче в настройките на уеб сървъра има параметър за ограничаване на дължината на заглавието на заявката, вероятно ще получите тази грешка.
Съществуват няколко начина за отстраняване на проблема
nginx.conf
.POST
заявка вместо GET
. Ако проблемът възниква при изпращане на GET
заявка с големи параметри, можете да опитате да използвате POST
заявка вместо GET
.За да отстраните тази грешка (ако сте администратор на уеб сървъра Nginx), трябва да увеличите максималния размер на заглавието, като промените параметъра large_client_header_buffers
. Ако сте обикновен потребител на уебсайта, в който е възникнала тази грешка, трябва да изчакате, докато администраторът на ресурса отстрани грешката.
Трябва да коригирате параметъра large_client_header_buffers
, който приема 2 числа, например 4 и 8 (които са зададени по подразбиране). Първото число е стойността, която задава максималния брой буфери, а второто число е размерът на буфера, в който се чете заглавието на заявката. Вторият параметър се задава в килобайти.
Този ред се добавя към раздела http на конфигурационния файл на Nginx или към раздела на сървъра за конкретен сайт. Файловете за конфигурация на сайтове на Nginx обикновено се съхраняват в /etc/nginx/conf.d/
или /etc/nginx/sites-available/
(в зависимост от това как е инсталиран Nginx - чрез стандартните хранилища на операционната система или чрез хранилището на Nginx).
За да регулирате стойността, можете да зададете числата 8 и 64, подходящи за съхраняване на големи заглавия. Параметърът ще изглежда по следния начин:
large_client_header_buffers 8 64k;
След като бъдат направени промени в конфигурационния файл, Nginx трябва да бъде рестартиран с помощта на командата:
sudo systemctl reload nginx
Това са методите за отстраняване на този проблем.