Position actuelle: Accueil> Derniers articles> Comment limiter le nombre de connexions simultanées à un service Web via un serveur proxy Nginx

Comment limiter le nombre de connexions simultanées à un service Web via un serveur proxy Nginx

M66 2025-06-18

Comment configurer le serveur proxy Nginx pour limiter le nombre de connexions simultanées à un service Web

Avec la popularité et le développement des applications Web, il est particulièrement important de limiter le nombre de connexions simultanées aux services Web afin d'assurer l'expérience utilisateur et d'assurer la stabilité des services. En tant qu'excellent serveur Web de performances et serveur proxy inversé, Nginx fournit une variété d'options de configuration qui peuvent nous aider à atteindre cette exigence. Cet article présentera comment limiter le nombre de connexions simultanées à un service Web en configurant un serveur proxy NGINX et en fournissant des exemples de code spécifiques.

1. Installer Nginx

Tout d'abord, nous devons installer nginx. Voici un exemple de commande pour installer nginx sur le système d'exploitation Ubuntu:

 <span class="fun">$ sudo apt mise à jour</span>
 <span class="fun">$ sudo apt install nginx</span>

2. Configurer le serveur proxy Nginx

Une fois l'installation terminée, nous devons ouvrir et modifier le fichier de configuration Nginx:

 <span class="fun">$ sudo nano /etc/nginx/nginx.conf</span>

Ensuite, ajoutez la configuration suivante dans le bloc HTTP:

 http {
    ...
    # Limiter le nombre de connexions simultanées à100
    limit_conn_zone $binary_remote_addr zone=concurrent:10m;
    
    server {
        ...
        # Limiter le nombre de connexions simultanées à10
        limit_conn concurrent 10;
    }
}

Dans la configuration ci-dessus, `limit_conn_zone` est utilisé pour définir une zone de mémoire partagée (taille 10 Mo) pour stocker le nombre de connexions simultanées par client. `limit_conn` est utilisé pour définir le nombre maximal de connexions simultanées dans chaque bloc de serveur, par exemple réglé sur 10.

3. Redémarrer le service Nginx

Une fois la configuration terminée, nous devons redémarrer le service Nginx pour rendre la configuration à effet:

 <span class="fun">$ sudo systemctl redémarrer nginx</span>

4. Vérifiez la configuration

Pour vérifier que la configuration est en vigueur, vous pouvez utiliser la commande `AB` (Apache Benchmark) pour les tests de contrainte. Voici un exemple utilisant la commande `ab`:

 <span class="fun">$ ab -c 100 -n 1000 http: // localhost /</span>

Dans l'exemple ci-dessus, `-c 100` signifie que le nombre de demandes simultanées est de 100, et` -N 1000` signifie que le nombre total de demandes est de 1000. Si la configuration est correcte, vous verrez la sortie suivante:

 Concurrency Level:      100
Time taken for tests:   10.000 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      158000 bytes
...

en conclusion

En configurant rationnellement les restrictions de connexion simultanées du serveur proxy NGINX, les problèmes de performances causés par des connexions excessives peuvent être effectivement évitées par les services Web. Les exemples de configuration de cet article aident les utilisateurs à implémenter facilement cette fonctionnalité. Bien sûr, en fonction des besoins réels, vous devrez peut-être ajuster ces configurations. J'espère que cet article vous est utile!