当前位置:首页 > nginx > 正文

nginx 限速(nginx.conf的配置详解)

  • nginx
  • 2024-03-15 03:43:18
  • 5237
Nginx 限速
Nginx 可用于限制通过 Web 服务器的流量。 以下是进行限速的一些要素:
1. 限速类型
请求速率限制:限制每秒可处理的连接数。
带宽限制:限制通过 Web 服务器的总吞吐量。
2. 限速单位
连接数/秒 (cps):请求速率限制中使用的单位。
比特/秒 (bps):带宽限制中使用的单位。
3. 限速位置
服务器级:在全球范围内限制所有传入流量。
虚拟主机级:限制特定虚拟主机的流量。
特定 URI:限制特定资源(例如图像或视频文件)的流量。
4. 限速方法
漏桶算法:以恒定速率处理数据,当超出上限时丢弃数据。
令牌桶算法:生成数量有限的令牌,并要求每个传入连接消耗一个令牌;当令牌耗尽时丢弃数据。
基于时间的限速:限制在给定的时间窗口内处理的数据量。
示例
请求速率限制:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
...
limit_req zone=one burst=5 nodelay;
...
}
此示例将每秒从给定 IP 地址的连接速率限制为 1 个连接。
带宽限制:
server {
...
limit_rate 100k;
...
}
此示例将通过 Web 服务器的总吞吐量限制为 100 kbps。