Quando Nginx viene utilizzato come server back-end per app Web come WordPress , Drupal , ecc . (che di solito sono basati su PHP e database MySQL), molti utenti riscontrano l'errore:"413 – Request Entity Too Large '.
Questo errore si verifica ogni volta che un utente tenta di caricare un file maggiore della dimensione massima del file di caricamento configurata. Il limite predefinito per la dimensione del caricamento dei file è 1 MB come definito in Nginx configurazione.
[ Potrebbe piacerti anche:Come risolvere il timeout del gateway 504 in Nginx Server ]
Di solito, questo errore viene riscontrato da un WordPress admin tenta di installare un plugin per la prima volta. Ad esempio, ho provato a installare "Gestione download ' Plugin WordPress sulla mia configurazione WP locale, mi dà lo stesso errore:
Modifica il limite di dimensione del file di caricamento in Nginx
Apri Nginx file di configurazione in Vim o qualsiasi editor di testo a tua scelta.
$ sudo vim /etc/nginx/nginx.conf
Aggiungi la direttiva "client_max_body_size '. Questa direttiva definisce la dimensione massima del corpo di una richiesta del cliente. Per impostazione predefinita, il valore di questa direttiva è 1 MB . Aumentando questo valore potrai caricare un file di dimensioni maggiori che verrà inviato con la richiesta.
Aggiungi la seguente riga sotto 'http' blocco:
client_max_body_size 16M;
Puoi anche inserire un numero più alto invece di 16 MB se necessario. Ora salva e chiudi il file.
Riavvia Nginx con il seguente comando.
$ sudo systemctl restart nginx
Ora il tuo Nginx l'installazione ti consentirà di caricare un file fino a 16 MB in misura. Proviamo a installare di nuovo il plugin.
Anche dopo aver configurato la dimensione del file Nginx, il limite di caricamento del file PHP sta ancora bloccando il caricamento. Vediamo come cambiarlo.
Modifica il limite di dimensione del caricamento PHP
Nginx viene utilizzato in combinazione con app Web basate su PHP e il problema mostrato sopra può verificarsi a causa di un limite nella dimensione del caricamento del file PHP.
Apri il file 'php.ini ' che è presente nella directory di configurazione di PHP.
$ sudo vim /etc/php/7.4/fpm/php.ini OR $ sudo vim /etc/php.ini
Vai alle variabili upload_file_maxsize , ovvero la dimensione massima di un file che può essere caricato e post_maxsize , ovvero la dimensione massima di una richiesta di post.
Poiché un file viene caricato come parte della richiesta di post, post_maxsize dovrebbe essere sempre maggiore di upload_file_maxsize .
Modificare i valori come richiesto.
upload_max_filesize = 16M post_max_size = 20M
Salva ed esci dal file.
Riavvia PHP , nonché Nginx , affinché la nuova configurazione abbia luogo:
$ sudo systemctl restart php7.4-fpm $ sudo systemctl restart nginx
Dovresti sostituire php7.4 nel comando sopra con qualunque sia la tua versione di PHP, o anche solo 'php ' se questo è il nome del servizio PHP nella tua macchina.
La dimensione del file appena specificata è ora consentita per il caricamento di file nell'app Web e il plug-in procede con l'installazione correttamente.
Conclusione
Abbiamo visto come affrontare il problema di un'entità richiesta troppo grande in un'app Web basata su Nginx. Nota che non solo PHP, ma se vengono utilizzati altri CGI con Nginx il problema può verificarsi; in tal caso gli utenti possono aumentare il limite nel file di configurazione per il particolare CGI.
Grazie per la lettura e facci sapere la tua opinione nei commenti qui sotto!