Harvadel juhtudel, kuid juhtub, et suurte failide veebilehele üleslaadimisel tagastab Nginx veebiserver vea - 413 Request Entity Too Large. See viga tekib siis, kui üritate üles laadida faili, mis on liiga suur, kui server lubab. Edaspidi käsitleme 413 Request Entity Too Large vea kirjeldust ja selle parandamise meetodeid Nginx veebiserveri poolel.
Viga 413 ehk Request Entity Too Large tähendab "Request Entity Too Large" ehk lihtsustatult öeldes on edastatav andmemaht liiga suur. Viga tagastatakse, kui server ei saa taotlust töödelda, sest taotluse keha (või suur fail) on liiga suur. Allpool on näidatud ekraanipilt veast:
Vaikimisi on Nginxil taotluse keha suuruse piiranguks 1MB. Kui päring ületab määratud väärtuse, kuvatakse viga 413 Request Entity Too Large.
Viga 413 "Request Entity Too Large" tekib siis, kui veebiserver lükkab taotluse tagasi, sest taotluse keha suurus ületab serverile määratud maksimaalse lubatud suuruse. See tähendab, et taotluses saadetud andmed (näiteks faili serverisse üleslaadimisel) on töötlemiseks liiga suured.
Lahendage probleem:
Kui te ei kontrolli serverit, kuhu te päringut saadate, võtke ühendust oma serveri administraatori või tehnilise toega, et saada abi 413 "Request Entity Too Large" vea lahendamiseks.
Vea 413 parandamiseks peaksite suurendama lubatud piirmäära. Te saate suurendada päringu keha suurust ja seega ka üleslaetavate failide suurust, kasutades client_max_body_size
'i. Seda valikut saab kasutada /etc/nginx/nginx.conf
konfiguratsioonifaili http, server või location direktiivides või veebisaidi konfiguratsioonifailis.
Avage nginx.conf
konfiguratsioonifail, kasutades mis tahes tekstiredaktorit:
$ sudo nano /etc/nginx/nginx.conf
Sisestage rida jaotises http:
$ client_max_body_size 100M
100 - maksimaalne faili suurus megabaitides, mida saab veebilehele üles laadida, antud juhul 100 megabaiti. Kui teie käsutuses on mitu veebisaiti ja on vaja piirata üleslaadimist kõigile veebisaitidele korraga, siis tuleb http-bloki sektsiooni sisestada rida client_max_body_size
.
Kui on vaja piirata allalaadimist ainult konkreetse saidi puhul, tuleks rida client_max_body_size
lisada saidi konfiguratsioonifaili serveriblokki, mis vaikimisi asub failis /etc/nginx/sites-available/file_name_with_configuration
:
Kui allalaadimislimiit tuleb määrata ainult saidi konkreetse jaotise jaoks, tuleb client_max_body_size
rida lisada saidi konfiguratsioonifaili asukohadirektiivi
, mis asub vaikimisi failis /etc/nginx/sites-available/file_name_with_configuration
:
Kui muudatused on konfiguratsioonifailidesse tehtud, salvestage need, sulgege tekstiredaktor ja kontrollige käsuga konfiguratsioonifailide süntaksit vigade suhtes:
$ sudo nginx -t
Te võite näha järgmisi ridu:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
See tähendab, et vigu ei ole. Vastasel juhul näete vea kirjeldust, selle faili nime, kus viga leiti, ja rea numbrit. Pärast muudatuste tegemist Nginxi konfiguratsioonifailides tuleb need käsuga taaskäivitada:
$ sudo systemctl reload nginx
Selles artiklis käsitleti Nginxi viga nimega 413 Request Entity Too Large, mis tekib suurte failide üleslaadimisel veebisaidile. Lisaks vea enda kirjeldamisele kirjeldati ka samme vea parandamiseks Nginxi konfiguratsioonifailide muutmise abil.