1. Übersicht über Module und Anweisungen zur Begrenzung der Zugriffshäufigkeit, gleichzeitiger Verbindungen und der Download-Geschwindigkeit
ngx_http_limit_req_module: Wird verwendet, um die Anzahl der Anfragen pro Zeiteinheit, d „Leaky Bucket“
ngx_http_limit_conn_module: Wird verwendet, um die Anzahl der gleichzeitigen Verbindungen zu begrenzen, d
Die Idee des Algorithmus ist:
Wasser (Anfrage) wird von oben in den Eimer gegossen und fließt am Boden des Eimers heraus (aufbereitet)
Wasser, das zu spät zum Abfließen kommt, wird gespeichert im Eimer (Puffer) und fließt mit einer festen Rate ab;2. Begrenzen Sie die Häufigkeit von URL-Zugriffsanforderungen
http{ ... limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s; limit_req_zone $binary_remote_addr $uri zone=two:30m rate=20r/s; limit_req_zone $binary_remote_addr $request_uri zone=three:30m rate=20r/s; limit_req_status 444; ... server{ ... limit_req zone=two burst=15 nodelay; ... } }
$binary_remote_addr dient dazu, die gleiche Client-IP-Adresse mit unterschiedlichen URLs zu begrenzen.
zone: Zonenname, der eine Sitzung speichert m
http { ... limit_conn_log_level error; limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn_status 503; ... server { ... location /download/ { limit_conn addr 1; 单个客户端ip限制为1 } ... }
Fall 2:
http{ limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server { ... limit_conn perip 10; #单个客户端ip与服务器的连接数 limit_conn perserver 100; #限制与服务器的总连接数 } }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx, um die Zugriffshäufigkeit, die Download-Rate und die Anzahl gleichzeitiger Verbindungen zu begrenzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!