Nginx Fehler 413 Request Entity Too Large

yannik95(30)
Published in
#nginx
Words
208
Reading
1 min
Listen
Play
8y

Bei größeren Dateiuploads kann es vorkommen, das nginx die Fehlermeldung „413 Request Entity Too Large“ anzeigt und den Dateiupload abbricht. Diese Standard Einstellung gibt es, um den Webserver vor zu großen Dateien zu schützen und diese Fehlermeldung kann man ganz leicht beheben.

Dafür gibt es den Konfigurationsparameter „client_max_body_size“, wenn dieser nicht gesetzt ist, hat er den Wert 1m. Dadurch wird der Upload auf die maximale Größe von 1MB beschränkt.

http {
    server {
        client_max_body_size    1M;
        listen  80;
        server_name localhost;
        location / {
            proxy_pass  http://127.0.0.1:8080/;
        }
    }
}

Wie man hier in Zeile 3 sehen kann. Diesen Wert kann man nun auf eine entsprechende Größe anpassen oder auf 0 setzen, um das Limit ganz zu entfernen, dies ist allerdings nicht zu Empfehlen.

PHP Upload Limit anpassen

Eine ähnliche Einstellung gibt es auch in der php.ini, diese Datei findet man unter dem Pfad /etc/php/7.0/fpm/php.ini (7.0 ist durch die genutzte PHP Version zu ersetzen). In dieser Datei sucht man nach „upload_max_filesize“.

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

Diesen Wert kann man nun ebenfalls auf die benötigte Größe einstellen.

Konfig Dateien neu laden

Nachdem man diese Änderungen vorgenommen hat, muss man die Konfigurationsdateien neu laden. Diese kann man mit diesen Befehlen erledigen:

sudo service nginx reload
sudo service php7.0-fpm reload

Und schon ist ein Upload von größeren Datei über nginx und PHP möglich.

https://yannikeichel.de/2018/02/nginx-fehler-413-request-entity-too-large/