nginx : Augmenter la taille max des fichiers à l'upload

nginx 3 août 2020

En installant ce blog, et en voulant uploader un thème (un zip de 1.5 Mo), je me suis retrouvé confronté à cette erreur :

The file you uploaded was larger than the maximum file size your server allows.

Rassurant d'un point de vue sécurité, mais pas très pratique en l'occurrence.

Pour y remédier, rien de bien complexe : c'est du côté de nginx que ça se passe. J'ai choisi de ne faire la configuration que pour mon blog, on verra à l'avenir si d'autres applicatifs en ont besoin.

Le fix ? Une ligne, à rajouter dans le bloc server ou location du site en question :

server {
  ...
  client_max_body_size 2m;
}
/etc/nginx/conf.d/monblog.conf

On redémarre nginx et c'est parti !

sudo systemctl restart nginx
CLI Debian

Vous préférez tout simplement désactiver la limite ? Remplacez la valeur de la directive par 0 (zéro, sans unité). C'est tout.

Le lien vers la doc pour les plus curieux : https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

Post mortem

En configurant un nouveau site récemment, j'ai rencontré le problème suivant : la directive client_max_body_size n'était pas prise en compte, alors que je n'avais fait qu'un simple copié / collé de la ligne depuis cet article.

Après de longues minutes d'incompréhension la plus totale, après m'être entendu dire à maintes reprises "essaie encore une fois de redémarrer nginx, on sait jamais", j'ai remarqué que la ligne précédant ma directive ne finissait pas par un point-virgule... Pas d'erreur lors de redémarrage de nginx, tout semblait pourtant bien fonctionner. Mais non. J'ai donc terminé cette ligne comme il se doit, et tout est rentré dans l'ordre (après un redémarrage de nginx, oui!).

Morale de l'histoire : Bien souvent, l'erreur n'est pas là où vous la cherchez, mais elle n'est généralement pas très loin.

Mots clés

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.