1. アクセス頻度、同時接続、およびダウンロード速度を制限するために使用されるモジュールと命令の概要
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;
...
}
}
説明:
limit_req_zone $binary_remote_addrzone=one:30m rate=20r/s ;
#rate : 1 秒あたりのリクエスト数
limit_req_zone $binary_remote_addr $urizone=two:30m rate=20r/s;
$binary_remote_addr $uri 同一クライアント IP アドレス、同一 URL を制限するためです
zone: ゾーン名 2 ストア session30m
##rate: 1 秒あたりのリクエスト数
limit_req_zone $binary_remote_addr $request_urizone=three:30m rate=20r/s;
$ binary_remote_addr $request_uri は、同じクライアント IP アドレスを同じ URL に制限します。
zone: ゾーン名 2 ストア セッション 30m
rate:number 1 秒あたりのリクエスト数
limit_req ゾーン=2 バースト=15 遅延なし;
3. 同時接続数の制限
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 } ... }ケース 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; #限制与服务器的总连接数 } }
4. ダウンロード速度を制限します
location /download { limit_rate 128k; } #如果想设置用户下载文件的前10m大小时不限速,大于10m后再以128kb/s限速可以增加以下配内容 location /download { limit_rate_after 10m; limit_rate 128k; }
以上がNginx を使用してアクセス頻度、ダウンロード速度、同時接続数を制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。