Heim >Betrieb und Instandhaltung >Nginx >So verwenden Sie Nginx, um die Zugriffshäufigkeit, die Download-Rate und die Anzahl gleichzeitiger Verbindungen zu begrenzen
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)
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!