I sjeldne tilfeller, men det hender at Nginx-webserveren returnerer en feilmelding - 413 Request Entity Too Large - når du laster opp store filer til et nettsted. Denne feilen oppstår når du prøver å laste opp en fil som er for stor enn serveren tillater. Videre vil vi vurdere beskrivelsen av 413 Request Entity Too Large-feilen og metoder for å fikse den på Nginx-webserversiden.
Feil 413 eller Request Entity Too Large står for "Request Entity Too Large", eller med enkle ord at datamengden som overføres er for stor. Feilen returneres når serveren ikke kan behandle en forespørsel fordi forespørselsdelen (eller den store filen) er for stor. Et skjermbilde av feilen vises nedenfor:
Som standard har Nginx en grense på 1 MB for størrelsen på forespørselen. Hvis forespørselen overskrider den angitte verdien, vil du se feilmelding 413 Request Entity Too Large.
Feil 413 "Request Entity Too Large" oppstår når en webserver avviser en forespørsel fordi størrelsen på forespørselen overskrider den maksimalt tillatte størrelsen som er angitt på serveren. Dette betyr at dataene som sendes i forespørselen (for eksempel når du laster opp en fil til serveren) er for store til å kunne behandles.
Løs problemet:
Hvis du ikke har kontroll over serveren du sender forespørselen til, kan du kontakte serveradministratoren eller teknisk støtte for å få hjelp til å løse feilen 413 "Request Entity Too Large".
For å løse feil 413 bør du øke den tillatte grensen. Du kan øke størrelsen på forespørselsdelen og dermed størrelsen på opplastede filer ved å bruke client_max_body_size
. Alternativet er tilgjengelig for bruk i direktivene http, server eller location i konfigurasjonsfilen /etc/nginx/nginx.
conf eller i konfigurasjonsfilen for nettstedet.
Åpne konfigurasjonsfilen nginx.conf
med et tekstredigeringsprogram:
$ sudo nano /etc/nginx/nginx.conf
Skriv inn en linje i http-delen:
$ client_max_body_size 100M
100 - den maksimale filstørrelsen i megabyte som kan lastes opp til nettstedet, i dette tilfellet 100 megabyte. Hvis du har flere nettsteder til rådighet og det er nødvendig å begrense opplastingen til alle nettsteder samtidig, bør linjen client_max_body_size
legges inn i http-blokkseksjonen.
Hvis det er nødvendig å begrense nedlastingen bare for et bestemt nettsted, bør linjen client_max_body_size
legges til i serverblokken i konfigurasjonsfilen for nettstedet, som som standard ligger i /etc/nginx/sites-available/file_name_with_configuration
:
Når en nedlastingsgrense bare skal angis for en bestemt seksjon på et nettsted, må client_max_body_size-linjen
legges til i location-direktivet
i konfigurasjonsfilen for nettstedet, som som standard ligger i /etc/nginx/sites-available/file_name_with_configuration
:
Når du har gjort endringene i konfigurasjonsfilene, lagrer du dem, lukker tekstredigeringsprogrammet og kontrollerer syntaksen i konfigurasjonsfilene for feil ved hjelp av kommandoen:
$ sudo nginx -t
Du vil kanskje se følgende linjer:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dette betyr at det ikke er noen feil. I motsatt fall vil du se en beskrivelse av feilen, navnet på filen der feilen ble funnet, og linjenummeret. Etter at du har gjort endringer i Nginx-konfigurasjonsfilene, bør du starte dem på nytt ved hjelp av kommandoen:
$ sudo systemctl reload nginx
Denne artikkelen tar for seg en feil i Nginx som kalles 413 Request Entity Too Large, som oppstår når du laster opp store filer til et nettsted. I tillegg til å beskrive selve feilen, ble det også beskrevet hvordan du løser feilen ved å redigere Nginx-konfigurasjonsfilene.