Comment résoudre l’erreur « 413 Request Entity Too Large » lorsque je télécharge des fichiers vers mon environnement Elastic Beanstalk ?

Lecture de 3 minute(s)
0

Je souhaite personnaliser la valeur « client_max_body_size » dans ma configuration NGINX afin de pouvoir télécharger des fichiers volumineux dans mon environnement AWS Elastic Beanstalk.

Résolution

La limite de téléchargement de fichiers par défaut de NGINX est de 1 Mo. Pour charger des fichiers de plus de 1 Mo, mettez à jour la valeur du client_max_body_size.

Important : M et Mo sont des expressions équivalentes pour « mégaoctet ». Par exemple, 2 M est égal à 2 Mo. Cependant, la configuration NGINX n’accepte que « M » comme valeur de syntaxe valide. Il n’y a pas d’espace entre le chiffre et la lettre « M ».

Remarque : Pour personnaliser la configuration de proxy par défaut pour toutes les versions des plateformes Amazon Linux 2 et Amazon Linux 2023, consultez la section Extension des plateformes Elastic Beanstalk Linux.

Pour configurer la valeur du client_max_body_size dans Amazon Linux 2 et Amazon Linux 2023, procédez comme suit :

  1. Créez un fichier de configuration .conf nommé client_max_body_size.conf qui inclut les éléments suivants :

    client_max_body_size 50M;
  2. Copiez le fichier .conf client_max_body_size.conf\ _max dans un dossier nommé .platform/nginx/conf.d/ dans le bundle source de votre application.

    Remarque : La configuration Elastic Beanstalk NGINX inclut automatiquement les fichiers .conf dans le dossier .platform. Assurez-vous de créer ce chemin si le fichier .conf n’existe pas dans votre bundle source.

L'exemple suivant montre la structure du répertoire .platform et du fichier .conf dans le fichier zip de l’application sur la plate-forme Java SE.Le dossier .platform doit être placé à la racine de votre ensemble de sources d’applications pour toutes les plateformes Linux. Pour plus d’informations sur le regroupement d’applications, consultez la documentation de votre plateforme.

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. Déployez la nouvelle version de l’application dans votre environnement Elastic Beanstalk.
  2. Utilisez SSH pour vous connecter à l’instance Amazon Elastic Compute Cloud (Amazon EC2) exécutée dans votre environnement Elastic Beanstalk.
  3. Pour vérifier que la syntaxe de configuration NGINX est correcte et que les modifications apportées à la valeur du client_max_body_size sont appliquées, exécutez la commande suivante.
    $ 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;

Informations connexes

Créer un bundle source d'applications

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois