Vor allem bei größeren Dateiuploads, z. B. via PHP, kann es vorkommen, dass nginx die Fehlermeldung „413 Request Entity Too Large“ anzeigt und den Dateiupload abbricht. Der Grund dafür ist so simpel wie auch schnell behoben.
Der Grund für den Fehler ist, dass die Anfrage an den Webserver zu groß ist. Diese wird in der nginx-Konfiguration durch folgende Variable geregelt: client_max_body_size
Sie steht in der Standardkonfiguration auf 20 MB, was z. B. folgendermaßen aussehen kann:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
client_max_body_size 20M;
listen 80;
server_name localhost;
# Main location
location / {
proxy_pass http://127.0.0.1:8000/;
}
}
}
Code-Sprache: PHP (php)
Hier ist es in Zeile 8 angegeben.
Das bedeutet in diesem Fall, dass die Anfrage maximal 20 MB groß sein darf. Möchte man nun aber eine Datei mit 50 MB z. B. hochladen, resultiert das in den oben genannten Fehler, da die Anfrage zu groß ist.
Man muss demnach lediglich den Wert von client_max_body_size
erhöhen und den Webserver mit einem der folgenden Befehle neu starten:
systemctl restart nginx
/etc/init.d/nginx restart
invoke-rc.d nginx restart
Danach sollte auch ein größerer Upload von Seiten des nginx problemlos möglich sein.