Maksutavat Abuse

Mitä virhe 413 tarkoittaa ja miten se korjataan?

07.07.2024, 23:21

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.

Mitä virhe 413 tarkoittaa

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.

Miksi virhe ilmestyy

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:

  1. Muuttamalla palvelimen asetuksia: Voit yrittää kasvattaa palvelimella olevaa pyynnön suurinta sallittua kokoa. Tämä saattaa edellyttää verkkopalvelimen asetustiedostojen muuttamista - Apache, Nginx.
  2. Pienentämällä datan kokoa: Jos mahdollista, yritä pienentää pyynnössä lähetetyn datan kokoa. Jos esimerkiksi lataat tiedoston, yritä pienentää sen kokoa.
  3. Käyttämällä muita tiedonsiirtomenetelmiä: Yhden suuren pyynnön sijasta voit jakaa tiedot useisiin pienempiin pyyntöihin ja lähettää ne paloittain.
  4. Muiden tiedostonsiirtomenetelmien käyttäminen: Voit käyttää suurten tiedostojen siirtämiseen erikoistuneita tiedostojen jakopalveluja tai FTP:tä.

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.

Kuinka korjata

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.