Come faccio a risolvere l'errore "413 Entità richiesta troppo grande" quando carico i file nel mio ambiente Elastic Beanstalk?

2 minuti di lettura
0

Desidero personalizzare il valore "client_max_body_size" nella mia configurazione NGINX in modo da poter caricare file di grandi dimensioni nel mio ambiente AWS Elastic Beanstalk.

Risoluzione

Il limite di caricamento dei file predefinito di NGINX è di 1 MB. Per caricare file di dimensioni superiori a 1 MB, aggiorna il valore client_max_body_size.

Importante: M e MB sono espressioni equivalenti per "megabyte". Ad esempio, 2 M equivalgono a 2 MB. Tuttavia, la configurazione NGINX accetta solo «M» come valore di sintassi valido. Non c'è spazio tra il numero e la lettera «M».

Nota: per personalizzare la configurazione proxy predefinita per tutte le versioni delle piattaforme Amazon Linux 2 e Amazon Linux 2023, consulta Estendere le piattaforme Linux Elastic Beanstalk.

Per configurare il valore client_max_body_size in Amazon Linux 2 e Amazon Linux 2023, completa i seguenti passaggi:

  1. Crea un file di configurazione .conf denominato client\ _max\ _body_size.conf che includa quanto segue:

    client_max_body_size 50M;
  2. Copia il file .conf client\ _max\ _body_size.conf in una cartella denominata .platform/nginx/conf.d/ nel bundle dei sorgenti dell'applicazione.

    Nota: la configurazione di Elastic Beanstalk NGINX include automaticamente i file .conf nella cartella .platform. Assicurati di creare questo percorso se il file .conf non esiste nel tuo pacchetto sorgente.

L'esempio seguente mostra la struttura della directory .platform e del file .conf nel file zip dell'applicazione sulla piattaforma Java SE platform.La cartella .platform deve essere posizionata alla radice del pacchetto sorgente dell'applicazione per tutte le piattaforme Linux. Per ulteriori informazioni sul raggruppamento delle applicazioni, consulta la documentazione della tua piattaforma.

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. Distribuisci la nuova versione dell'applicazione nel tuo ambiente Elastic Beanstalk.
  2. Usa SSH per accedere all'istanza Amazon Elastic Compute Cloud (Amazon EC2) in esecuzione nel tuo ambiente Elastic Beanstalk.
  3. Per verificare che la sintassi di configurazione NGINX sia corretta e che le modifiche apportate al valore client\ _max\ _body\ _size siano applicate, esegui il comando seguente.
    $ 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;

Informazioni correlate

Create an application source bundle

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa