Makseviisid Abuse

Mida viga 413 tähendab ja kuidas seda parandada

07.07.2024, 23:21

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.

Mida viga 413 tähendab

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.

Miks viga ilmub

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:

  1. Muutes serveri seadeid: võite proovida suurendada serveris maksimaalset lubatud päringu suurust. Selleks võib olla vaja muuta veebiserveri konfiguratsioonifaile - Apache, Nginx.
  2. Vähendades andmete suurust: kui võimalik, proovige vähendada päringus saadetud andmete suurust. Näiteks kui laadite üles faili, proovige vähendada selle suurust.
  3. Kasutades muid andmeedastusmeetodeid: ühe suure päringu asemel võite jagada andmed mitmeks väiksemaks päringuks ja saata need osade kaupa.
  4. Teiste failiedastusmeetodite kasutamine: suurte failide edastamiseks võite kasutada spetsiaalseid failijagamisteenuseid või FTP-d.

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.

Kuidas parandada

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.