Recherche de site Web

Erreur 413 : Entité de requête trop grande - Une solution simple


Aujourd'hui, j'essayais différents thèmes sur l'un de mes sites WordPress. J'ai déjà téléchargé de nombreux thèmes sur mon ordinateur. Après avoir choisi mon fichier de thème et cliqué sur le bouton Installer maintenant pour le télécharger sur mon serveur, Nginx a déclaré : 413 Request Entity Too Large. La plupart du temps, il vous suffit de modifier le fichier de configuration Nginx pour permettre le téléchargement de fichiers volumineux.

Augmentation de la taille du fichier de téléchargement pour tous les blocs de serveur

Si vous avez plusieurs sites Web (blocs de serveur) sur un seul serveur Nginx et que vous souhaitez augmenter la taille du fichier de téléchargement pour chacun d'entre eux. Ensuite, vous devez modifier le fichier nginx.conf

sudo vi /etc/nginx/nginx.conf

Mettez le texte suivant dans la section http

client_max_body_size 2M;

La directive Nginx ci-dessus signifie que la taille maximale du fichier à télécharger est de 2 mégaoctets. La valeur par défaut est 1M. Donc, si vous ne le spécifiez pas et téléchargez un fichier de plus de 1 mégaoctet, vous obtiendrez une erreur d'entité de requête 413 trop volumineuse. Vous pouvez modifier cette valeur à votre guise.

Enregistrez et fermez le fichier. Rechargez ensuite la configuration de Nginx. Vous n'avez pas besoin de redémarrer Nginx.

sudo systemctl reload nginx

ou

sudo /etc/init.d/nginx reload

Augmentation de la taille du fichier de téléchargement pour un seul bloc de serveur

Si vous souhaitez augmenter la taille du fichier de téléchargement pour un seul bloc de serveur, vous devez modifier le fichier de bloc de serveur. Sur le serveur Debian/Ubuntu :

sudo vi /etc/nginx/sites-available/yourdoman.com

Sur le serveur CentOS/Redhat :

sudo vi /etc/nginx/conf.d/yourdomain.com.conf

Et ajoutez la ligne suivante à la section serveur. Encore une fois, vous pouvez modifier la valeur selon vos besoins.

client_max_body_size 2M;

Rechargez maintenant votre configuration Nginx.

Téléchargement de fichiers de plus de 2 mégaoctets

Veuillez noter que PHP définit également une limite de taille de fichier de téléchargement. La taille maximale par défaut du fichier à télécharger est de 2 Mo. Ainsi, lorsque vous téléchargez un fichier de plus de 2 Mo, vous obtiendrez cette erreur

The uploaded file exceeds the upload_max_filesize directive in php.ini.

alors vous devez changer la valeur en PHP. Modifiez le fichier php.ini. Sur Debian/Ubuntu :

sudo vi /etc/php5/fpm/php.ini

Sur CentOS/Redhat :

sudo vi /etc/php.ini

Recherchez la ligne suivante :

upload_max_filesize = 2M

Remplacez la valeur par la même valeur que la taille de votre fichier de téléchargement Nginx. Recherchez également la ligne suivante et augmentez la valeur à votre guise.

post_max_size = 8M

Enregistrez et fermez le fichier. Rechargez ensuite php-fpm.

sudo service php-fpm reload       or         sudo systemctl reload php-fpm

Votre système peut avoir php5-fpm ou php7.0-fpm au lieu de php-fpm.

Vérifier s'il est déjà défini

Avant de définir la valeur client_max_body_size dans Nginx, il est sage de vérifier si la valeur est déjà définie mais que vous ne la connaissez pas. Changez votre répertoire de travail en /etc/nginx/ et exécutez la commande suivante :

sudo grep -R 'client_max_body_size'

La commande ci-dessus trouvera la directive dans tous les fichiers de votre répertoire de configuration Nginx. Vous pouvez également ouvrir directement un fichier de bloc de serveur sudo vi /etc/nginx/conf.d/filename.conf pour voir si ce bloc de serveur a déjà défini la valeur.

Primordial

Si vous spécifiez une valeur client_max_body_size à la fois dans le fichier nginx.conf et dans le fichier de bloc de votre serveur, la valeur dans le fichier de bloc du serveur remplace la valeur définie dans le fichier nginx.conf.

Articles connexes