Maison >Opération et maintenance >Nginx >Méthodes de limitation de courant nginx et de gestion de la configuration
http { limit_conn_zone $binary_remote_addr zone=addr:10m; //$binary_remote_addr 表示通过remote_addr这个标识来做限制 //zone=addr:10m 表示生成一个大小为10M,名字为addr的内存区域 ... server { location /download/ { limit_conn addr 1; #限制并发数 limit_rate 50k; #限制带宽 } }
$binary_remote_addr : indique une restriction via l'indicateur remote_addr. Le but de "binary_" est d'abréger l'utilisation de la mémoire et. limite la même adresse IP Client
zone=addr:10m : signifie générer une zone mémoire d'une taille de 10M et un nom d'adresse pour stocker les informations de fréquence d'accès
Le
le code d'état http
400-499 est utilisé pour indiquer les erreurs côté client.
500-599 est utilisé pour prendre en charge les erreurs du serveur.
rate=1r/s : Indique que la fréquence d'accès des clients ayant la même identité est autorisée. La limite ici est de 1 fois par seconde, c'est-à-dire. , une seule requête est traitée par seconde. Il peut également y avoir, par exemple, 30r/m, qui limite l'accès à une fois toutes les 2 secondes, c'est-à-dire ne traite qu'une seule requête toutes les 2 secondes.
burst=5 : burst burst signifie, cette configuration revient à définir un buffer de taille 5.
Lorsqu'il y a un grand nombre de requêtes (burst) Lorsque En arrivant, les demandes qui dépassent la limite de fréquence d'accès peuvent être placées dans ce tampon pour attendre, mais il n'y a que 5 positions dans cette zone d'attente. Les demandes qui dépassent la limite signaleront directement une erreur 503 et reviendront.
S'il est défini, il offrira la possibilité de traiter les demandes (rafale + taux) instantanément Lorsque la demande dépasse (rafale + taux), elle reviendra directement. 503 , il n'y a jamais de situation où la demande doit attendre. (L'unité de débit ici est : r/s).
Si elle n'est pas définie, toutes les demandes seront mises en file d'attente dans l'ordre.
type d'expression d'emplacement
~ signifie effectuer un match régulier pour distinguer Case
~* signifie effectuer une correspondance régulière, insensible à la casse.
^~ signifie une correspondance de caractères ordinaire. La correspondance de préfixe est préférable. Si la correspondance réussit, aucun autre emplacement ne sera mis en correspondance.
= effectue une correspondance exacte des caractères communs. C'est une correspondance exacte.
@ "@" définit un emplacement nommé, utilisé lorsqu'il est dirigé en interne, tel que error_page, try_files
/ : correspondance universelle, s'il n'y a pas d'autre correspondance, toute demande sera mise en correspondance
location expression priorité
location ; = > emplacement chemin complet> emplacement ^~ chemin> emplacement ~ ,~* emplacement chemin de départ partiel (correspondance du préfixe) >
Interdire les journaux de répertoire inutiles
Limitations des répertoires et fichiers du site
Caractères chinois tronqués
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!