Makseviisid Abuse

Ошибка taotluse päise või küpsise liiga suur Nginx

01.02.2024, 23:37

Nginxi viga"taotluse päis või küpsis on liiga suur" ilmneb, kui taotluse päiste või küpsiste suurus ületab maksimaalse lubatud suuruse, mis on määratud serveri konfiguratsioonis. Selles artiklis analüüsime üksikasjalikult, miks see juhtub.

Mida tähendab Nginx'i vea "Request header or cookie too large" (päringu päis või küpsis liiga suur)

Viga tekib siis, kui HTTP/HTTPS päringu päiste suurus ületab lubatud piiri. Näiteks saadab brauser liiga palju küpsiseid või veebiserverile saadetud päring on liiga suur.

Taotlus jaguneb tavaliselt kaheks osaks: päised - kus asub üldine teave ja metaandmed ning taotluse keha. Nii päringu keha kui ka päised võivad olla erineva suurusega - nii väikesed kui ka suured ning nende suurus ei tekita tavaliselt mingeid probleeme. Kui aga veebiserveri seadetes on parameeter, mis piirab päringu päise pikkust, siis on tõenäoline, et saate selle vea.

Kuidas seda parandada?

Probleemi lahendamiseks on mitu võimalust

  1. Suurendage Nginxi seadistuses päiste ja küpsiste maksimaalset suurust. Selleks lisage nginx.conf konfiguratsioonifaili järgmised read.
  2. Tühjendage brauseri küpsised. Kui probleem esineb ainult ühes arvutis või seadmes, võib brauseriküpsiste kustutamine aidata.
  3. Kasutage teist brauserit või seadet. Kui probleem esineb ainult ühes brauseris või seadmes, proovige kasutada teist brauserit või seadet.
  4. Kasutage GET-i asemel POST-i päringut. Kui probleem ilmneb suurte parameetritega GET päringu saatmisel, võite proovida GET asemel kasutada POST päringut.
  5. Jagage päring mitmeks väiksemaks päringuks. Kui serveri konfiguratsiooni ei ole võimalik muuta, võite proovida jagada päringu mitmeks väiksemaks päringuks, saates neid järjestikku.

Selle vea parandamiseks (kui olete Nginxi veebiserveri administraator) peaksite suurendama maksimaalset päise suurust, muutes parameetrit large_client_header_buffer. Kui olete selle veebisaidi tavakasutaja, kus see viga ilmnes, peaksite ootama, kuni ressursi administraator parandab vea.

Parandus Nginxi veebiserveri poolt

Teil tuleb korrigeerida parameetrit large_client_header_buffer, mis võtab 2 numbrit, näiteks 4 ja 8 (mis on vaikimisi määratud). Esimene number on väärtus, mis määrab maksimaalse puhvrite arvu ja teine number on puhvri suurus, millesse päringu päis loetakse. Teine parameeter on määratud kilobaitides.

See rida lisatakse Nginxi konfiguratsioonifaili http-osasse või konkreetse saidi serveriosasse. Nginxi veebisaidi konfiguratsioonifailid asuvad tavaliselt failis /etc/nginx/conf.d/ või /etc/nginx/sites-available/ (sõltuvalt sellest, kuidas Nginx paigaldati - kas kasutades operatsioonisüsteemi tavapärast repositooriumi või kasutades Nginxi repositooriumi).

Väärtuse reguleerimiseks võite määrata suurte päiste salvestamiseks sobivad numbrid 8 ja 64. Parameeter näeb välja selline:

large_client_header_buffers 8 64k;

Kui konfiguratsioonifaili on tehtud muudatused, tuleb Nginx taaskäivitada käsuga:

sudo systemctl reload nginx

Need on meetodid selle probleemi lahendamiseks.