Feilen"request header or cookie too large
" i Nginx oppstår når størrelsen på forespørselshodene eller informasjonskapslene overskrider den maksimalt tillatte størrelsen, som er angitt i serverkonfigurasjonen. I denne artikkelen vil vi analysere i detalj hvorfor dette skjer.
Feilen oppstår når størrelsen på HTTP/HTTPS-forespørselsoverskriftene overskrider den tillatte grensen. For eksempel sender nettleseren for mange informasjonskapsler, eller forespørselen som sendes til webserveren er for stor.
Forespørselen er vanligvis delt inn i to deler: overskrifter - der generell informasjon og metadata er plassert, og selve forespørselen. Forespørselsteksten og overskriftene kan være av ulik størrelse - både små og store, og størrelsen skaper vanligvis ingen problemer. Men hvis innstillingene på webserveren har en parameter som begrenser lengden på forespørselshodet, vil du sannsynligvis få denne feilen.
Det finnes flere måter å løse problemet på
nginx.conf.
POST-forespørsel
i stedet for GET.
Hvis problemet oppstår når du sender en GET-forespørsel
med store parametere, kan du prøve å bruke en POST-forespørsel
i stedet for GET
.For å løse denne feilen (hvis du er administrator av Nginx-webserveren) bør du øke den maksimale header-størrelsen ved å endre parameteren large_client_header_buffers
. Hvis du er en vanlig bruker av nettstedet der denne feilen oppstod, bør du vente til administratoren av ressursen retter feilen.
Du må justere parameteren large_client_header_buffers
, som tar to tall, for eksempel 4 og 8 (som er angitt som standard). Det første tallet er verdien som angir det maksimale antallet buffere, og det andre tallet er størrelsen på bufferen som forespørselshodet leses inn i. Den andre parameteren angis i kilobyte.
Denne linjen legges til i http-delen av Nginx-konfigurasjonsfilen eller i serverdelen for et bestemt nettsted. Konfigurasjonsfiler for Nginx-nettsteder lagres vanligvis i /etc/nginx/conf.d/
eller /etc/nginx/sites-available/
(avhengig av hvordan Nginx ble installert - ved hjelp av operativsystemets standarddepoter eller ved hjelp av Nginx-depotet).
For å justere verdien kan du angi tallene 8 og 64 som passer for lagring av store overskrifter. Parameteren vil se slik ut:
large_client_header_buffers 8 64k;
Når endringer er gjort i konfigurasjonsfilen, bør Nginx startes på nytt ved hjelp av kommandoen:
sudo systemctl reload nginx
Dette er metodene for å løse dette problemet.