In seltenen Fällen kommt es vor, dass der Nginx-Webserver beim Hochladen großer Dateien auf eine Website die Fehlermeldung 413 Request Entity Too Large zurückgibt. Dieser Fehler tritt auf, wenn Sie versuchen, eine Datei hochzuladen, die zu groß ist, als der Server zulässt. Im Folgenden werden wir die Beschreibung des Fehlers 413 Request Entity Too Large und die Methoden zu seiner Behebung auf der Seite des Nginx-Webservers betrachten.
Der Fehler 413 oder Request Entity Too Large steht für "Request Entity Too Large" oder in einfachen Worten: Die übertragene Datenmenge ist zu groß. Der Fehler wird zurückgegeben, wenn der Server eine Anfrage nicht verarbeiten kann, weil der Anfragebody (oder die große Datei) zu groß ist. Ein Bildschirmfoto des Fehlers ist unten abgebildet:
Standardmäßig hat Nginx ein Größenlimit für den Request Body von 1 MB. Wenn die Anfrage den festgelegten Wert überschreitet, wird der Fehler 413 Request Entity Too Large angezeigt.
Der Fehler 413 "Request Entity Too Large" tritt auf, wenn ein Webserver eine Anfrage ablehnt, weil die Größe des Anfragekörpers die auf dem Server eingestellte maximal zulässige Größe überschreitet. Dies bedeutet, dass die in der Anfrage gesendeten Daten (z. B. beim Hochladen einer Datei auf den Server) zu groß sind, um verarbeitet zu werden.
Lösen Sie das Problem:
Wenn Sie keine Kontrolle über den Server haben, an den Sie die Anforderung senden, wenden Sie sich an Ihren Serveradministrator oder den technischen Support, um Hilfe bei der Behebung des Fehlers 413 "Request Entity Too Large" zu erhalten.
Um den Fehler 413 zu beheben, sollten Sie den zulässigen Grenzwert erhöhen. Mit der Option client_max_body_size
können Sie die Größe des Anforderungsteils und damit die Größe der hochgeladenen Dateien erhöhen. Die Option kann in den Direktiven http, server oder location in der Konfigurationsdatei /etc/nginx/nginx.conf
oder in der Konfigurationsdatei der Website verwendet werden.
Öffnen Sie die Konfigurationsdatei nginx.conf
mit einem beliebigen Texteditor:
$ sudo nano /etc/nginx/nginx.conf
Geben Sie eine Zeile in den Abschnitt http ein:
$ client_max_body_size 100M
100 - die maximale Dateigröße in Megabyte, die auf die Website hochgeladen werden kann, in diesem Fall 100 Megabyte. Wenn mehrere Websites zur Verfügung stehen und das Hochladen auf alle Websites gleichzeitig beschränkt werden soll, muss die Zeile client_max_body_size
in den Abschnitt http block eingegeben werden.
Wenn es erforderlich ist, das Herunterladen nur für eine bestimmte Website zu beschränken, sollte die Zeile client_max_body_size
in den Server-Block der Website-Konfigurationsdatei aufgenommen werden, die sich standardmäßig in /etc/nginx/sites-available/file_name_with_configuration
befindet:
Wenn ein Download-Limit nur für einen bestimmten Abschnitt einer Site festgelegt werden muss, muss die Zeichenkette client_max_body_size
zur Standortdirektive
der Site-Konfigurationsdatei hinzugefügt werden, die sich standardmäßig in /etc/nginx/sites-available/file_name_with_configuration
befindet:
Nachdem Sie die Änderungen an den Konfigurationsdateien vorgenommen haben, speichern Sie sie, schließen Sie den Texteditor und überprüfen Sie die Syntax der Konfigurationsdateien mit dem Befehl auf Fehler:
$ sudo nginx -t
Möglicherweise sehen Sie die folgenden Zeilen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dies bedeutet, dass keine Fehler vorhanden sind. Andernfalls sehen Sie eine Beschreibung des Fehlers, den Namen der Datei, in der der Fehler gefunden wurde, und die Zeilennummer. Nachdem Sie Änderungen an den Nginx-Konfigurationsdateien vorgenommen haben, sollten Sie diese mit diesem Befehl neu starten:
$ sudo systemctl reload nginx
Dieser Artikel behandelt einen Fehler in Nginx, der als 413 Request Entity Too Large bekannt ist und beim Hochladen von großen Dateien auf eine Website auftritt. Neben der Beschreibung des Fehlers selbst wurden auch Schritte zur Behebung des Fehlers durch Bearbeitung der Nginx-Konfigurationsdateien beschrieben.