Metodi di pagamento Abuse

Cosa significa l'errore 413 e come risolverlo

07.07.2024, 23:21

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.

Cosa significa l'errore 413

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.

Perché viene visualizzato l'errore

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:

  1. Modificando le impostazioni del server: si può provare ad aumentare la dimensione massima consentita della richiesta sul server. Potrebbe essere necessario modificare i file di configurazione del server web (Apache, Nginx).
  2. Riducendo le dimensioni dei dati: se possibile, provare a ridurre le dimensioni dei dati inviati nella richiesta. Ad esempio, se si sta caricando un file, provare a ridurne le dimensioni.
  3. Utilizzando altri metodi di trasferimento dei dati: invece di un'unica richiesta di grandi dimensioni, è possibile suddividere i dati in diverse richieste più piccole e inviarle in modo frammentario.
  4. Utilizzo di altri metodi di trasferimento dei file: per trasferire file di grandi dimensioni si possono utilizzare servizi specializzati di condivisione dei file o FTP.

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".

Come risolvere

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.