Erreur 413 Request Entity Too Large sur des sites sous Plesk

Lecture de 2 minutes

Il arrive que j'ai des problèmes sur Plesk lorsque nginx est activé. Chaque requête POST retourne une « 413 Request Entity Too Large », empêchant les applications Web de fonctionner correctement.

Ce qui se passe

Pour chaque requête POST adressée à l'application Web, une réponse 413 Request Entity Too Large est retournée, même lorsque le corps de la requête est vide ou très légerte :

413 Request Entity Too Large
nginx

Dans les paramètres du domaine, sous Paramètres Apache & nginx, la Maximum allowed HTTP request body size est définie à une valeur élevée (supérieure à la taille de la requête) :

Les requêtes et les erreurs n'apparaissent pas dans les logs du domaine :

Pourquoi cela se produit

Je n'arrive pas à le comprendre clairement, mais c'est évidemment lié à la configuration de nginx. Étant donné que les requêtes n'apparaissent pas dans le journal du domaine, je suppose qu'une configuration globale du serveur remplace les paramètres du domaine. La requête n'est même pas dirigé au vhost du domaine.

Comment le résoudre

Il est possible de contourner le problème en ajoutant une valeur globale client_max_body_size dans un fichier de paramètres nginx plus global.

Cependant, cela remplacera tous les paramètres locaux par domaine définis dans Plesk dans la section Apache & nginx Settings.

Étape 1 : modifier le fichier par défaut de nginx

Connectez-vous par SSH au serveur et entrez la commande suivante pour modifier le fichier par défaut de nginx :

nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante à la section http :

http {
    [...]
    client_max_body_size 512m;
}

Cela permettra une taille de publication de 512 Mo sur l'ensemble du serveur.

Étape 2 : redémarrez le serveur

systemctl reload nginx