Comment limiter la taille du téléchargement de fichiers dans Nginx
Dans notre dernier article, nous avons expliqué comment limiter la taille de téléchargement des fichiers utilisateur dans Apache. Dans cet article, nous allons vous expliquer comment limiter la taille de téléchargement des fichiers utilisateur dans Nginx. La limitation de la taille de téléchargement de fichiers est utile pour prévenir certains types d’attaques par déni de service (DOS) et de nombreux autres problèmes connexes.
Par défaut, Nginx a une limite de 1 Mo sur les téléchargements de fichiers. Pour définir la taille de téléchargement de fichiers, vous pouvez utiliser la directive client_max_body_size, qui fait partie du module ngx_http_core_module de Nginx. Cette directive peut être définie dans le contexte http, serveur ou emplacement.
Il définit la taille maximale autorisée du corps de la demande client, spécifiée dans le champ d’en-tête de la demande « Content-Length ». Voici un exemple d’augmentation de la limite à 100 Mo dans le fichier /etc/nginx/nginx.conf.
Définir dans le bloc http qui affecte tous les blocs de serveur (hôtes virtuels).
http {
...
client_max_body_size 100M;
}
Défini dans le bloc serveur, qui affecte un site/une application particulier.
server {
...
client_max_body_size 100M;
}
Défini dans le bloc d’emplacement, qui affecte un répertoire particulier (téléchargements) sous un site/une application.
location /uploads {
...
client_max_body_size 100M;
}
Enregistrez le fichier et redémarrez le serveur Web Nginx pour appliquer les modifications récentes à l’aide de la commande suivante.
# systemctl restart nginx #systemd
service nginx restart #sysvinit
Une fois que vous avez enregistré les modifications et redémarré le serveur HTTP, si la taille d’une requête dépasse la valeur configurée de 100 Mo, l’erreur 413 (Request Entity Too Large) est renvoyée au client.
Remarque : Vous devez garder à l’esprit que parfois les navigateurs peuvent ne pas afficher correctement cette erreur. Et la définition d’une valeur (taille) à 0 désactive la vérification de la taille du corps de la demande client.
Vous pouvez également lire les articles suivants relatifs à l’administration du serveur Web Nginx.
- Comment changer le port Nginx sous Linux
- Comment masquer la version du serveur Nginx sous Linux
- ngxtop - Surveillez les fichiers journaux Nginx en temps réel sous Linux
- Comment surveiller les performances de Nginx à l’aide de Netdata
- Comment activer la page d’état NGINX
C’est tout! Dans ce court article, nous avons expliqué comment limiter la taille de téléchargement des fichiers utilisateur dans Nginx. Vous pouvez partager vos réflexions avec nous via le formulaire de commentaire ci-dessous.