Recherche de site Web

Comment limiter la taille de 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 expliquerons comment limiter la taille de téléchargement des fichiers utilisateur dans Nginx. Restreindre la taille de téléchargement des fichiers est utile pour empêcher 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 pour les téléchargements de fichiers. Pour définir la taille de téléchargement du fichier, 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 location.

Il définit la taille maximale autorisée du corps de la requête client, spécifiée dans le champ d'en-tête de requête « Content-Length ». Voici un exemple d'augmentation de la limite à 100 Mo dans le fichier /etc/nginx/nginx.conf.

Défini dans le bloc http qui affecte tous les blocs de serveur (hôtes virtuels).

http {
    ...
    client_max_body_size 100M;
}    

Défini dans le blocage du 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 (Entité de requête trop grande) est renvoyée. au client.

Remarque : vous devez garder à l'esprit que parfois les navigateurs peuvent ne pas afficher correctement cette erreur. Et définir une valeur (taille) sur 0 désactive la vérification de la taille du corps de la demande du client.

Vous aimerez peut-être également lire ces articles suivants liés à l’administration du serveur Web Nginx.

  1. Comment changer le port Nginx sous Linux
  2. Comment masquer la version du serveur Nginx sous Linux
  3. ngxtop – Surveiller les fichiers journaux Nginx en temps réel sous Linux
  4. Comment surveiller les performances de Nginx à l'aide de Netdata
  5. 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 commentaires ci-dessous.