I sjældne tilfælde, men det sker, at Nginx-webserveren returnerer en fejl - 413 Request Entity Too Large - når man uploader store filer til et websted. Denne fejl opstår, når du forsøger at uploade en fil, der er for stor, end serveren tillader. Vi vil se nærmere på beskrivelsen af 413 Request Entity Too Large-fejlen og metoderne til at løse den på Nginx-webserversiden.
Fejl 413 eller Request Entity Too Large står for "Request Entity Too Large", eller med andre ord er mængden af data, der overføres, for stor. Fejlen returneres, når serveren ikke kan behandle en forespørgsel, fordi forespørgselsdelen (eller den store fil) er for stor. Et skærmbillede af fejlen er vist nedenfor:
Som standard har Nginx en størrelsesgrænse på 1 MB. Hvis anmodningen overskrider den indstillede værdi, vil du se fejl 413 Request Entity Too Large.
Fejl 413 "Request Entity Too Large" opstår, når en webserver afviser en anmodning, fordi størrelsen på anmodningen overskrider den maksimalt tilladte størrelse, der er indstillet på serveren. Det betyder, at de data, der sendes i anmodningen (f.eks. når man uploader en fil til serveren), er for store til at blive behandlet.
Løs problemet:
Hvis du ikke har kontrol over den server, du sender anmodningen til, skal du kontakte din serveradministrator eller teknisk support for at få hjælp til at løse fejlen 413 "Request Entity Too Large".
For at løse fejl 413 skal du øge den tilladte grænse. Du kan øge størrelsen på request body og dermed størrelsen på de uploadede filer ved at bruge client_max_body_size
. Indstillingen kan bruges i direktiverne http, server eller location i konfigurationsfilen /etc/nginx/nginx.conf
eller i hjemmesidens konfigurationsfil.
Åbn konfigurationsfilen nginx
.conf med en hvilken som helst teksteditor:
$ sudo nano /etc/nginx/nginx.conf
Skriv en linje i afsnittet http:
$ client_max_body_size 100M
100 - den maksimale filstørrelse i megabytes, der kan uploades til webstedet, i dette tilfælde 100 megabytes. Hvis du har flere hjemmesider til rådighed, og det er nødvendigt at begrænse upload til alle hjemmesider på én gang, skal linjen client_max_body_size
indtastes i afsnittet http block.
Hvis det kun er nødvendigt at begrænse downloading til et bestemt websted, skal linjen client_max_body_size
tilføjes til serverblokken i webstedets konfigurationsfil, der som standard ligger i /etc/nginx/sites-available/file_name_with_configuration
:
Når en downloadgrænse kun skal indstilles for en bestemt sektion på et websted, skal client_max_body_size-strengen
tilføjes til location-direktivet
i webstedskonfigurationsfilen, der som standard ligger i /etc/nginx/sites-available/file_name_with_configuration
:
Når ændringerne er foretaget i konfigurationsfilerne, skal du gemme dem, lukke teksteditoren og kontrollere syntaksen i konfigurationsfilerne for fejl ved hjælp af kommandoen:
$ sudo nginx -t
Du kan 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
Det betyder, at der ikke er nogen fejl. Ellers vil du se en beskrivelse af fejlen, navnet på den fil, hvor fejlen blev fundet, og linjenummeret. Når du har foretaget ændringer i Nginx-konfigurationsfilerne, skal du genstarte dem ved hjælp af kommandoen:
$ sudo systemctl reload nginx
Denne artikel handler om en fejl i Nginx, der hedder 413 Request Entity Too Large, som opstår, når man uploader store filer til et website. Ud over at beskrive selve fejlen blev der også beskrevet trin til at rette fejlen ved at redigere Nginx-konfigurationsfiler.