Betalingsmetoder Abuse

Hvad fejl 413 betyder, og hvordan man løser den

07.07.2024, 23:21

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.

Hvad betyder fejl 413?

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.

Hvorfor fejlen vises

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:

  1. Ved at ændre serverindstillingerne: Du kan prøve at øge den maksimalt tilladte størrelse på anmodningen på serveren. Det kan kræve en ændring af webserverens konfigurationsfiler - Apache, Nginx.
  2. Ved at reducere datastørrelsen: Hvis det er muligt, kan du prøve at reducere størrelsen på de data, der sendes i anmodningen. Hvis du f.eks. uploader en fil, kan du prøve at reducere dens størrelse.
  3. Brug af andre dataoverførselsmetoder: I stedet for én stor anmodning kan du opdele dataene i flere mindre anmodninger og sende dem stykkevis.
  4. Brug af andre filoverførselsmetoder: Du kan bruge specialiserede fildelingstjenester eller FTP til at overføre store filer.

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".

Sådan løser du fejlen

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.