可以为每个端点限制?

时间:2017-11-20 21:32:54

标签: rate-limiting kong api-gateway

我可以配置Kong的rate limiting plugin,因此它会对给定API中的每个端点强制执行限制,如下所示:

$ curl -X POST http://kong:8001/apis/{api}/plugins \
    --data "name=rate-limiting" \
    --data "config.second=5"

但是,我想为每个端点配置不同的速率限制 。例如,我想允许:

  • http://localhost:8000/endpoint1使用每IP 5个请求/秒的速率限制
  • http://localhost:8000/endpoint2使用每个IP 10个请求/秒的速率限制

这可能与孔有关吗?我看到open issue与此相关,但有没有解决方法?

3 个答案:

答案 0 :(得分:1)

您是否可以将每个端点设置为Kong API,然后对每个API应用速率限制?

答案 1 :(得分:1)

直到Kong .13,这是不可能的。但是,在Kong .13中,API object已分为两部分,routesservices

使用这些工具,您应该能够为API中的不同端点应用不同的插件。

答案 2 :(得分:0)

我相信Kong无法在IP模式下工作。但是要结合认证和速率限制。 结合这个,你可以说

API 1 - limited to 5 request/second for consumer 1
API 1 (again) - limited to 10 request/second for consumer 2
API 2 - limited to 25 request/second from consumer 1

要实现此目的,您需要在kong中为要控制的API启用身份验证,然后为每个consumer / api分配费率。

这将使您能够控制来自消费者的请求,以便他们无法从多个IP执行额外请求。 (如果你想)