Comment modifier les limites dans la configuration de Nginx?
sobes.tech IA
Réponse de l'IA
Les limites dans la configuration de Nginx peuvent être modifiées en éditant les fichiers de configuration, généralement situés dans les répertoires /etc/nginx/ ou /usr/local/nginx/conf/.
Voici les limites courantes et comment les modifier :
-
Limite de la taille du corps de la requête (client_max_body_size) : Définit la taille maximale autorisée du corps de la requête du client. Important pour le téléchargement de fichiers.
# Dans le contexte de http, server ou location client_max_body_size 10M; # Exemple : définir la limite à 10 mégaoctets -
Limite du nombre de connexions (worker_connections) : Définit le nombre maximum de connexions simultanées qu’un processus de travail peut gérer.
# Dans le contexte d’événements events { worker_connections 1024; # Exemple : 1024 connexions par processus # autres réglages d’événements... } -
Limite de délai d’attente de la connexion (keepalive_timeout) : Définit le temps pendant lequel la connexion keep-alive avec le client reste ouverte après le traitement de la dernière requête.
# Dans le contexte de http, server ou location keepalive_timeout 60s; # Exemple : 60 secondes -
Limite de délai d’attente pour l’envoi des en-têtes de la requête (client_header_timeout) : Temps d’attente pour que le client envoie l’en-tête de la requête. Si le client ne l’envoie pas dans ce délai, la connexion sera fermée.
# Dans le contexte de http, server ou location client_header_timeout 60s; # Exemple : 60 secondes -
Limite de délai d’attente pour l’envoi du corps de la requête (client_body_timeout) : Temps d’attente pour que le client envoie le corps de la requête. Si le client ne l’envoie pas dans ce délai, la connexion sera fermée.
# Dans le contexte de http, server ou location client_body_timeout 60s; # Exemple : 60 secondes -
Limite de délai d’attente pour la réponse du serveur proxy (proxy_read_timeout) : Temps d’attente pour recevoir la réponse du serveur proxy.
# Dans le contexte de http, server ou location proxy_read_timeout 120s; # Exemple : 120 secondes -
Limite de fichiers ouverts (worker_rlimit_nofile) : Définit le nombre maximum de fichiers ouverts pour le processus de travail. Important pour un grand nombre de connexions.
# Dans le contexte main (contexte principal) worker_rlimit_nofile 65535; # Exemple : 65535 fichiersRemarque : Pour cette limite, il peut également être nécessaire de configurer les limites au niveau du système d’exploitation (ulimit).
Étapes pour modifier :
- Déterminer quelle limite doit être modifiée et dans quel contexte (http, server, location, events, main).
- Trouver le fichier de configuration correspondant (généralement
nginx.confou des fichiers dansconf.d/ousites-available/sites-enabled). - Ajouter ou modifier la directive avec la valeur souhaitée.
# Exemple d’ajout dans un bloc server server { listen 80; server_name example.com; client_max_body_size 50M; # Modification de la limite du corps de la requête pour ce serveur location / { # ... } } - Vérifier la syntaxe de la configuration :
nginx -t - Redémarrer Nginx pour appliquer les changements :
sudo systemctl reload nginx # ou sudo service nginx reload
Lors de la modification des limites, il est important de comprendre leur but et leur impact potentiel sur la performance et la sécurité.