GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Behebung des Nginx-Fehlers:413 Request Entity Too Large

Wenn Nginx wird als Backend-Server für Web-Apps wie WordPress verwendet , Drupal , usw. . (die normalerweise auf PHP- und MySQL-Datenbanken basieren), stoßen viele Benutzer auf den Fehler:„413 – Request Entity Too Large ’.

Dieser Fehler tritt auf, wenn ein Benutzer versucht, eine Datei hochzuladen, die größer ist als die konfigurierte maximale Upload-Dateigröße. Das Standardlimit für die Größe des Datei-Uploads beträgt 1 MB wie in Nginx definiert Konfiguration.

[Das könnte Ihnen auch gefallen:So beheben Sie das 504-Gateway-Timeout in Nginx-Server ]

Normalerweise tritt dieser Fehler bei WordPress auf Administrator, der zum ersten Mal versucht, ein Plugin zu installieren. Ich habe zum Beispiel versucht, den „Download Manager“ zu installieren ’ WordPress-Plugin in meinem lokalen WP-Setup, es gibt mir den gleichen Fehler:

Ändern Sie die Größenbeschränkung für Upload-Dateien in Nginx

Öffnen Sie Nginx Konfigurationsdatei entweder in Vim oder einen beliebigen Texteditor Ihrer Wahl.

$ sudo vim /etc/nginx/nginx.conf

Fügen Sie die Anweisung „client_max_body_size“ hinzu ‘. Diese Direktive definiert die maximale Größe des Hauptteils einer Client-Anfrage. Standardmäßig ist der Wert dieser Anweisung 1 MB . Wenn Sie diesen Wert erhöhen, können Sie eine größere Datei hochladen, die mit der Anfrage gesendet wird.

Fügen Sie die folgende Zeile unter „http“ hinzu blockieren:

client_max_body_size 16M;

Sie können statt 16 MB sogar eine höhere Zahl eingeben Falls erforderlich. Jetzt speichern und schließen Sie die Datei.

Starten Sie Nginx neu mit dem folgenden Befehl.

$ sudo systemctl restart nginx

Jetzt Ihr Nginx Setup ermöglicht Ihnen das Hochladen einer Datei mit bis zu 16 MB in Größe. Versuchen wir erneut, das Plug-in zu installieren.

Auch nach dem Konfigurieren der Nginx-Dateigröße blockiert das PHP-Datei-Upload-Limit immer noch den Upload. Mal sehen, wie man es ändert.

Größenbeschränkung für PHP-Uploads ändern

Nginx wird in Verbindung mit PHP-basierten Web-Apps verwendet, und das oben gezeigte Problem kann aufgrund einer Beschränkung der Upload-Größe von PHP-Dateien auftreten.

Öffnen Sie die Datei „php.ini ‘, die im PHP-Konfigurationsverzeichnis vorhanden ist.

$ sudo vim /etc/php/7.4/fpm/php.ini
OR
$ sudo vim /etc/php.ini

Gehen Sie zu den Variablen upload_file_maxsize , also die maximale Größe einer Datei, die hochgeladen werden darf, und post_maxsize , d.h. die maximale Größe einer Post-Anfrage.

Da eine Datei als Teil der Post-Anfrage hochgeladen wird, post_maxsize sollte immer größer als upload_file_maxsize sein .

Ändern Sie die Werte nach Bedarf.

upload_max_filesize = 16M
post_max_size = 20M

Speichern und beenden Sie die Datei.

Starten Sie PHP neu , sowie Nginx , damit die neue Konfiguration stattfindet:

$ sudo systemctl restart php7.4-fpm
$ sudo systemctl restart nginx

Sie sollten php7.4 ersetzen im obigen Befehl mit Ihrer PHP-Version oder einfach nur „php“. ’, wenn das der Name des PHP-Dienstes auf Ihrem Rechner ist.

Die neu festgelegte Dateigröße wird nun für den Datei-Upload in der Web-App zugelassen und das Plugin fährt erfolgreich mit der Installation fort.

Schlussfolgerung

Wir haben gesehen, wie man mit dem Problem umgeht, dass eine Anforderungsentität in einer Nginx-basierten Webanwendung zu groß ist. Beachten Sie, dass nicht nur PHP, sondern auch andere CGIs mit Nginx verwendet werden, das Problem auftreten kann; in diesem Fall können Benutzer das Limit in der Konfigurationsdatei für das jeweilige CGI erhöhen.

Danke fürs Lesen und teilen Sie uns Ihre Gedanken in den Kommentaren unten mit!


Linux
  1. Behebung des Dialogfelds „Datei speichern öffnen“ im i3-Windows-Manager zu groß

  2. So beheben Sie den Fehler – ModSecurity:Zugriff verweigert mit Code 44 [Apache]

  3. Fehler in Sudoers-Datei? So können Sie es beheben.

  4. Behebt schwerwiegenden Fehler openssl err.h – Keine solche Datei oder kein Verzeichnis [OpenCA]

  5. Openssl-Kompilierungsfehler

So beheben Sie den 500 Internal Server Error in WordPress

Problembehebung:Fehler „Benutzer befindet sich nicht in der Sudoers-Datei“.

So beheben Sie Konvertierungsfehler mit Calibre

Wie man Worker-Verbindungen repariert, ist nicht genug Fehler auf Nginx

So beheben Sie Nginx 413-Anforderungsentität zu groß

So beheben Sie den Fehler 502 Bad Gateway auf Nginx