Harvoissa tapauksissa, mutta se tapahtuu, että kun lataat suuria tiedostoja verkkosivustolle, Nginx-verkkopalvelin palauttaa virheen - 413 Request Entity Too Large. Tämä virhe ilmenee, kun yrität ladata tiedoston, joka on liian suuri kuin palvelin sallii. Seuraavaksi tarkastelemme 413 Request Entity Too Large -virheen kuvausta ja menetelmiä sen korjaamiseksi Nginx-verkkopalvelimen puolella.
Virhe 413 tai Request Entity Too Large tarkoittaa "Request Entity Too Large" eli yksinkertaisimmillaan siirrettävä tietomäärä on liian suuri. Virhe palautetaan, kun palvelin ei voi käsitellä pyyntöä, koska pyynnön runko (tai suuri tiedosto) on liian suuri. Alla on kuvakaappaus virheestä:
Oletusarvoisesti Nginxissä on 1 Mt:n pyyntöruumiin kokorajoitus. Jos pyyntö ylittää asetetun arvon, näyttöön tulee virhe 413 Request Entity Too Large.
Virhe 413 "Request Entity Too Large" (Pyynnön kokonaisuus liian suuri) ilmenee, kun verkkopalvelin hylkää pyynnön, koska pyynnön rungon koko ylittää palvelimelle asetetun suurimman sallitun koon. Tämä tarkoittaa, että pyynnössä lähetetyt tiedot (esimerkiksi ladattaessa tiedostoa palvelimelle) ovat liian suuria käsiteltäväksi.
Ratkaise ongelma:
Jos et hallitse palvelinta, jolle lähetät pyynnön, ota yhteyttä palvelimen ylläpitäjään tai tekniseen tukeen saadaksesi apua 413 "Request Entity Too Large" -virheen ratkaisemiseen.
Korjataksesi virheen 413 sinun tulisi kasvattaa sallittua rajaa. Voit kasvattaa pyynnön rungon kokoa ja näin ollen myös ladattujen tiedostojen kokoa käyttämällä client_max_body_size-ohjelmaa
. Vaihtoehto on käytettävissä /etc/nginx/nginx.conf-kokoonpanotiedoston
http-, server- tai location-direktiiveissä tai verkkosivuston kokoonpanotiedostossa.
Avaa nginx.conf-konfiguraatiotiedosto
millä tahansa tekstieditorilla:
$ sudo nano /etc/nginx/nginx.conf
Kirjoita rivi http-osioon:
$ client_max_body_size 100M
100 - enimmäistiedoston koko megatavuina, joka voidaan ladata verkkosivustolle, tässä tapauksessa 100 megatavua. Jos käytössäsi on useita verkkosivustoja ja on tarpeen rajoittaa lataamista kaikille verkkosivustoille kerralla, rivi client_max_body_size
on kirjoitettava http block -osioon.
Jos on tarpeen rajoittaa lataamista vain tietylle sivustolle, client_max_body_size-rivi
on lisättävä sivuston konfiguraatiotiedoston palvelinlohkoon, joka sijaitsee oletusarvoisesti osoitteessa /etc/nginx/sites-available/file_name_with_configuration
:
Kun latausrajoitus on asetettava vain sivuston tietylle osiolle, client_max_body_size-merkkijono
on lisättävä sivuston määritystiedoston location-direktiiviin
, joka sijaitsee oletusarvoisesti osoitteessa /etc/nginx/sites-available/file_name_with_configuration
:
Kun muutokset on tehty asetustiedostoihin, tallenna ne, sulje tekstieditori ja tarkista asetustiedostojen syntaksi virheiden varalta komennolla:
$ sudo nginx -t
Saatat nähdä seuraavat rivit:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tämä tarkoittaa, että virheitä ei ole. Muussa tapauksessa näet virheen kuvauksen, sen tiedoston nimen, jossa virhe havaittiin, ja rivinumeron. Kun olet tehnyt muutoksia Nginxin konfiguraatiotiedostoihin, sinun on käynnistettävä ne uudelleen komennolla:
$ sudo systemctl reload nginx
Tässä artikkelissa käsiteltiin Nginxin virhettä, joka tunnetaan nimellä 413 Request Entity Too Large ja joka ilmenee ladattaessa suuria tiedostoja verkkosivustolle. Itse virheen kuvaamisen lisäksi kuvattiin myös vaiheet virheen korjaamiseksi muokkaamalla Nginxin asetustiedostoja.