1. 在 http 段配置定义一个 limit_zone,
2. 使用 limit_conn 和 limit_rate 参数进行限速设置。 例如:
http { limit_zone my_zone $binary_remote_addr 10m; server { location /download/ { limit_conn my_zone 2; limit_rate 10k; } } }
说明:
limit_zone: 针对每个 IP 定义一个存储 session 状态的容器。本例中定义了一个 my_zone 的 10m 大小的容器。
limit_conn one 2 :限制在 my_zone 中记录状态的每个 IP 只能发起 2 个并发连接。本例中,客户端访问 /download
目录时,会限制 2 个并发连接。
limit_rate 20k :对每个连接限速 20k。注意,这里是对连接限速,而不是对 IP 限速。如果一个 IP 允许 2 个并发连接,那么这个 IP
就是限速为 limit_rate*2,在设置的时候要根据自己的需要做设置调整。
3. 保存配置文件,重启nginx生效。