Tarlaíonn an earráid " request header or cookie too large
" i Nginx nuair a sháraíonn méid cheanntásca nó fianán an iarratais an t-uasmhéid ceadaithe atá socraithe i gcumraíocht an fhreastalaí. San Airteagal seo déanfaimid breathnú go mion ar an fáth a tharlaíonn sé seo.
Déantar an earráid a atáirgeadh nuair a bhíonn na ceanntásca iarratais HTTP/HTTPS níos mó ná an teorainn cheadaithe. Mar shampla, seolann an brabhsálaí an iomarca fianán nó tá an t-iarratas a sheoltar chuig an bhfreastalaí gréasáin ró-mhór.
De ghnáth roinntear an t-iarratas ina dhá chuid: ceanntásca - áit a bhfuil faisnéis ghinearálta agus meiteashonraí suite, agus corp an iarratais. Is féidir le comhlacht an iarratais, chomh maith leis an gceanntásc, a bheith de mhéideanna éagsúla - idir bheag agus mhór, agus de ghnáth ní chuireann a mhéid faoi deara aon fhadhbanna. Mar sin féin, má tá paraiméadar socraithe i socruithe an fhreastalaí gréasáin chun fad an cheanntásca iarratais a theorannú, d'fhéadfadh an earráid seo a fháil.
Tá roinnt bealaí ann chun an fhadhb a réiteach
nginx.conf
.POST
in ionad GET
. Má tharlaíonn an fhadhb agus iarratas GET
á sheoladh le paraiméadair mhóra, is féidir leat triail a bhaint as iarratas POST
in ionad GET
.Chun an earráid seo a shocrú (más riarthóir freastalaí gréasáin Nginx tú), ní mór duit an t-uasmhéid ceanntásc a mhéadú trí pharaiméadar large_client_header_buffers
a athrú. Más gnáthúsáideoir thú ar an suíomh Gréasáin ar ar tharla an earráid seo, ní mór duit fanacht go dtí go gceartóidh an riarthóir acmhainní an earráid.
Ní mór duit an paraiméadar large_client_header_buffers
a choigeartú, a ghlacann le 2 uimhir, mar shampla 4 agus 8 (arb iad an réamhshocrú). Is luach í an chéad uimhir a shonraíonn uaslíon na maoláin, agus tá an dara uimhir freagrach as méid an mhaoláin ina léitear an ceanntásc iarratais. Sonraítear an dara paraiméadar i gcilibheart.
Cuirimid an líne seo leis an alt http den chomhad cumraíochta de chomhad cumraíochta Nginx nó chuig an rannóg freastalaí le haghaidh láithreán ar leith. De ghnáth stóráiltear comhaid cumraíochta láithreáin ghréasáin i Nginx i /etc/nginx/conf.d/
or /etc/nginx/sites-available/
(ag brath ar an gcaoi a suiteáladh Nginx - ag baint úsáide as stórtha caighdeánacha an chórais oibriúcháin nó ag baint úsáide as stór Nginx).
Chun an luach a choigeartú, is féidir leat na huimhreacha 8 agus 64 a shocrú, atá oiriúnach chun ceanntásca móra a stóráil. Breathnóidh an paraiméadar mar seo:
large_client_header_buffers 8 64k;
Chomh luath agus a dhéantar athruithe ar an gcomhad cumraíochta, ní mór duit Nginx a atosú ag baint úsáide as an ordú:
sudo systemctl reload nginx
Is iad seo na modhanna a réitíonn an fhadhb seo.