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
Définir le jeu de caractères utf-8 ;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!