nginx好像只可以针对整体请求限流?
能针对不同的后端服务进行限流吗?
可以啊,同样的配置语句,写在http那里就是全局生效,写在server那里就是当前域名生效,写在location那里就是当前路由生效。
具体限流可以用 limit_conn perip x
或者 limit_conn perserver x
。
15 回答8.4k 阅读
7 回答5.3k 阅读
8 回答6.2k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
Nginx官方版本限制IP的连接和并发分别有两个模块:
limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 "leaky bucket"。
limit_req_conn 用来限制同一时间连接数,即并发限制。
举一个例子,你自己理解下:
一次只允许每个IP地址一个连接。