Maison > Opération et maintenance > Nginx > Comment implémenter la configuration de la limite de vitesse Nginx

Comment implémenter la configuration de la limite de vitesse Nginx

王林
Libérer: 2023-11-08 21:22:55
original
1538 Les gens l'ont consulté

Comment implémenter la configuration de la limite de vitesse Nginx

Comment implémenter la configuration de la limite de vitesse Nginx nécessite des exemples de code spécifiques

Nginx, en tant que serveur Web hautes performances et serveur proxy inverse, doit souvent contrôler la vitesse de certaines interfaces ou ressources dans des applications pratiques pour assurer la stabilité. et l'équité du système. Ce qui suit présentera comment implémenter le contrôle de limitation de vitesse via le fichier de configuration Nginx et joindra des exemples de code spécifiques.

  1. Définir la zone de limitation de vitesse dans le fichier de configuration
    Tout d'abord, vous devez définir une zone de limitation de vitesse dans le fichier de configuration Nginx pour stocker et gérer les informations relatives aux limites de vitesse. Ouvrez le fichier de configuration Nginx (généralement nginx.conf ou sites-available/default) et ajoutez la configuration suivante dans le module http :
http {
  ...
  limit_req_zone $binary_remote_addr zone=rate_limit:10m rate=10r/s;
  ...
}
Copier après la connexion

Dans la configuration ci-dessus, limit_req_zone est utilisé pour définir une vitesse limit Area, où $binary_remote_addr signifie limitation de vitesse basée sur l'adresse IP du client, le paramètre zone spécifie le nom de la zone de limitation de vitesse comme rate_limit et 10m< /code> signifie que la taille de la mémoire de la zone à débit limité est de 10 Mo et le paramètre <code>rate spécifie que le nombre maximum de requêtes autorisées est de 10 par seconde. limit_req_zone用于定义一个限速区域,其中$binary_remote_addr表示根据客户端IP地址进行限速,zone参数指定了限速区域的名称为rate_limit,10m表示限速区域的内存大小为10MB,rate参数指定了允许的最大请求数量是每秒10个。

  1. 配置文件中应用限速
    接下来,在配置文件中需要对具体的接口或资源进行限速控制。打开配置文件,在server块内添加以下配置:
server {
  ...
  location /api/limited {
    limit_req zone=rate_limit burst=20 nodelay;
    ...
  }
  ...
}
Copier après la connexion

在以上配置中,location指令表示限速控制应用于路径为/api/limited的URL。limit_req指令用于设置限速规则,其中zone参数指定了使用前面定义的限速区域rate_limit,burst参数表示在超过限速后允许的最大请求数量,nodelay

    Appliquer la limite de vitesse dans le fichier de configuration
      Ensuite, vous devez contrôler la limite de vitesse pour des interfaces ou des ressources spécifiques dans le fichier de configuration. Ouvrez le fichier de configuration et ajoutez la configuration suivante dans le bloc serveur :

    1. sudo service nginx reload
      Copier après la connexion
    2. Dans la configuration ci-dessus, la directive location indique que le contrôle de limite de débit doit être appliqué à l'URL avec le chemin /api /limité. La commande limit_req est utilisée pour définir les règles de limitation de vitesse. Le paramètre zone spécifie l'utilisation de la zone de limitation de vitesse précédemment définie rate_limit. indique que la limite de vitesse sera dépassée lorsque la limite est dépassée. Le nombre maximum de requêtes autorisées après la limite de vitesse. Le paramètre nodelay indique s'il faut renvoyer une erreur immédiatement pour les requêtes qui dépassent la limite de vitesse.

    Recharger la configuration et le test de Nginx

    Après avoir terminé la configuration ci-dessus, enregistrez le fichier de configuration et rechargez la configuration de Nginx pour que les paramètres prennent effet. Vous pouvez utiliser la commande suivante pour recharger la configuration Nginx :

    ab -n 1000 -c 100 http://your-domain.com/api/limited
    Copier après la connexion
    Ensuite, vous pouvez utiliser des outils pour tester, simuler des requêtes simultanées et vérifier l'effet de la limitation de vitesse. Vous pouvez utiliser des outils tels que ab (ApacheBench) ou wrk pour tester, par exemple : 🎜rrreee🎜La commande ci-dessus signifie envoyer 1 000 requêtes simultanées, 100 requêtes simultanées à chaque fois, et l'URL d'accès est http://votre-domaine.com /api/limité . En affichant les résultats des tests renvoyés, vous pouvez vérifier l'exactitude de la configuration de la limite de vitesse. 🎜🎜Voici les étapes à suivre pour mettre en œuvre la configuration des limites de vitesse via Nginx. En définissant des zones de limitation de vitesse et en appliquant des règles de limitation de vitesse, vous pouvez contrôler efficacement la vitesse d'accès aux interfaces ou aux ressources et maintenir la stabilité et l'équité du système. J'espère que le contenu ci-dessus vous sera utile ! 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal