Direkt zum Inhalt

Wie behebe ich den Fehler „413 Request Entity Too Large“, wenn ich Dateien in meine Elastic-Beanstalk-Umgebung hochlade?

Lesedauer: 2 Minute
0

Ich möchte den Wert „client_max_body_size“ in meiner NGINX-Konfiguration anpassen, damit ich große Dateien in meine AWS-Elastic-Beanstalk-Umgebung hochladen kann.

Lösung

Das NGINX-Standardlimit für das Hochladen von Dateien beträgt 1 MB. Um Dateien hochzuladen, die größer als 1 MB sind, aktualisiere den Wert client_max_body_size.

Wichtig: M und MB sind äquivalente Ausdrücke für „Megabyte“. 2M entspricht beispielsweise 2 MB. Die NGINX-Konfiguration akzeptiert jedoch nur „M“ als gültigen Syntaxwert. Zwischen der Ziffer und dem Buchstaben „M“ befindet sich kein Leerzeichen.

Hinweis: Informationen zum Anpassen der Standard-Proxy-Konfiguration für alle Plattformversionen von Amazon Linux 2 und Amazon Linux 2023 findest du unter Erweitern der Elastic-Beanstalk-Linux-Plattformen.

Gehe wie folgt vor, um den Wert client_max_body_size in Amazon Linux 2 und Amazon Linux 2023 zu konfigurieren:

  1. Erstelle eine CONF-Konfigurationsdatei mit dem Namen client_max_body_size.conf, die Folgendes enthält:

    client_max_body_size 50M;
  2. Kopiere die CONF-Datei client_max_body_size.conf in einen Ordner mit dem Namen .platform/nginx/conf.d/ in deinem Anwendungsquellpaket.

    Hinweis: Die NGINX-Konfiguration von Elastic Beanstalk beinhaltet automatisch CONF-Dateien im Ordner .platform. Stelle sicher, dass du diesen Pfad erstellst, falls die CONF-Datei in deinem Quellpaket nicht existiert.

Das folgende Beispiel zeigt die Struktur des Verzeichnisses .platform und der CONF-Datei in der ZIP-Datei der Anwendung auf der Java-SE-Plattform. Der Ordner .platform muss für alle Linux-Plattformen im Stammverzeichnis des Anwendungsquellpakets platziert werden. Weitere Informationen zum Bündeln von Anwendungen findest du in der Dokumentation für die Plattform.

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. Stelle die neue Anwendungsversion in der Elastic-Beanstalk-Umgebung bereit.
  2. Verwende SSH, um dich bei der Amazon Elastic Compute Cloud (Amazon EC2)-Instance anzumelden, die in der Elastic-Beanstalk-Umgebung ausgeführt wird.
  3. Führe den folgenden Befehl aus, um zu überprüfen, ob die NGINX-Konfigurationssyntax korrekt ist und ob die am client_max_body_size-Wert vorgenommenen Änderungen angewendet werden.
    $ sudo nginx -T | egrep -i "client_max_body_size"
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
    client_max_body_size 50M;

Ähnliche Informationen

Erstellen eines Anwendungsquellpakets

AWS OFFICIALAktualisiert vor 2 Jahren