In rari casi, ma capita che durante il caricamento di file di grandi dimensioni su un sito web, il server web Nginx restituisca un errore - 413 Request Entity Too Large. L'errore viene visualizzato quando si cerca di caricare sul server un file di dimensioni troppo grandi rispetto a quelle consentite dal server. In seguito, esamineremo la descrizione dell'errore 413 Request Entity Too Large e i metodi per risolverlo dal lato del server web Nginx.
L'errore 413 o Request Entity Too Large sta per "Request Entity Too Large" o, in parole povere, la quantità di dati trasferiti è troppo grande. L'errore viene restituito quando il server non può elaborare una richiesta perché il corpo della richiesta (o il file di grandi dimensioni) è troppo grande. Di seguito è riportata una schermata dell'errore:
Per impostazione predefinita, Nginx ha un limite di dimensione del corpo della richiesta di 1 MB. Se la richiesta supera il valore impostato, verrà visualizzato l'errore 413 Request Entity Too Large.
L'errore 413 "Request Entity Too Large" si verifica quando un server web rifiuta una richiesta perché la dimensione del corpo della richiesta supera la dimensione massima consentita impostata sul server. Ciò significa che i dati inviati nella richiesta (ad esempio, quando si carica un file sul server) sono troppo grandi per essere elaborati.
Risolvere il problema:
Se non si controlla il server a cui si sta inviando la richiesta, contattare l'amministratore del server o il supporto tecnico per ottenere assistenza nella risoluzione dell'errore 413 "Request Entity Too Large".
Per risolvere l'errore 413, è necessario aumentare il limite consentito. È possibile aumentare la dimensione del corpo della richiesta e, di conseguenza, la dimensione dei file caricati, utilizzando client_max_body_size
. L'opzione può essere utilizzata nelle direttive http, server o location del file di configurazione /etc/nginx/nginx.conf
o nel file di configurazione del sito web.
Aprire il file di configurazione nginx.conf
con un qualsiasi editor di testo:
$ sudo nano /etc/nginx/nginx.conf
Digitare una riga nella sezione http:
$ client_max_body_size 100M
100 - la dimensione massima del file in megabyte che può essere caricato sul sito web, in questo caso 100 megabyte. Se ci sono diversi siti web a disposizione ed è necessario limitare il caricamento a tutti i siti web contemporaneamente, la riga client_max_body_size
deve essere inserita nella sezione http block.
Se è necessario limitare il download solo per un particolare sito, la riga client_max_body_size
deve essere aggiunta al blocco server del file di configurazione del sito, che per impostazione predefinita si trova in /etc/nginx/sites-available/file_name_with_configuration
:
Quando è necessario impostare un limite di download solo per una sezione specifica di un sito, la stringa client_max_body_size
deve essere aggiunta alla direttiva location
del file di configurazione del sito, che per impostazione predefinita si trova in /etc/nginx/sites-available/file_name_with_configuration
:
Una volta apportate le modifiche ai file di configurazione, salvarli, chiudere l'editor di testo e controllare la sintassi dei file di configurazione per verificare la presenza di eventuali errori con il comando
$ sudo nginx -t
Si possono vedere le seguenti righe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ciò significa che non ci sono errori. In caso contrario, si vedrà una descrizione dell'errore, il nome del file in cui è stato trovato l'errore e il numero di riga. Dopo aver apportato qualsiasi modifica ai file di configurazione di Nginx, è necessario riavviarli utilizzando il comando:
$ sudo systemctl reload nginx
Questo articolo ha trattato un errore di Nginx noto come 413 Request Entity Too Large, che si verifica quando si caricano file di grandi dimensioni su un sito web. Oltre a descrivere l'errore in sé, sono stati descritti anche i passaggi per risolvere l'errore modificando i file di configurazione di Nginx.