Configuration originale :
http { ......
limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr zone=fifa:10m rate=5r/s;
...... server { ...... limit_conn one 5; limit_req zone=fifa burst=100; ...... }}
Configuration de la liste blanche :
http { ......
geo $whiteiplist { default 1; 127.0.0.1 0; 10.10.0.0/24 0; } map $whiteiplist $limit { 1 $binary_remote_addr; 0 ""; } limit_conn_zone $limit zone=one:10m; limit_req_zone $limit zone=fifa:10m rate=5r/s;
...... server { ...... limit_conn one 5; limit_req zone=fifa burst=100; ...... }}
Description :
la directive geo définit une liste blanche $whiteiplist, la valeur par défaut est 1, toutes sont restreintes. Si l'adresse IP du client correspond à l'adresse IP répertoriée dans la liste blanche, la valeur $whiteiplist est 0, ce qui signifie qu'elle n'est pas restreinte.
La commande map mappe la valeur $whiteiplist de 1, qui est l'adresse IP restreinte, à l'adresse IP du client. Mappez la valeur $whiteiplist de 0, qui est l'adresse IP de la liste blanche, à une chaîne vide.
Les instructions limit_conn_zone et limit_req_zone seront ignorées pour les clés avec des valeurs nulles, n'atteignant ainsi aucune limite sur les adresses IP répertoriées.
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!