当前位置: 首页 > 知识库问答 >
问题:

香港费率可以限制每个endpoint吗?

谷梁英资
2023-03-14

我可以配置Kong的速率限制插件,以便它在给定API中对每个endpoint实施限制,如下所示:

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

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

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

这对香港有可能吗?我看到了一个与此相关的开放问题,但是否有任何解决方法

共有3个答案

南门茂才
2023-03-14

我相信,孔不能在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

要实现这一点,您需要在香港为您想要控制的api启用身份验证,然后为每个消费者/api分配费率。

这将使您能够控制来自消费者的请求,从而使他们无法从多个IP执行额外的请求。(

弓磊
2023-03-14

在Kong.13之前,这是不可能的。但是,在Kong.13中,API对象被分成两个部分:路由和服务。

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

严言
2023-03-14

您能否将每个endpoint制作成一个API,然后对每个API应用速率限制?

 类似资料:
  • 我们使用keycloak来处理API网关中的身份验证(客户端/秘密)。 Kong api服务使用konnect托管插件引用KeyClope来验证客户端凭据并返回承载令牌。 未来对其他endpoint的调用将使用oauth2内省来通过KeyClope内省验证承载令牌 但是,当我通过Kong api gateway进行身份验证时,它会返回一个承载令牌,但该令牌无法自省。 如果我直接授权给KeyClop

  • 我想使用Kong作为所有上游服务的API网关。我想使用API密钥,以便我的客户可以使用它来使用他们被允许使用的一些API。 有一个用于管理API密钥的插件:https://docs.konghq.com/hub/kong-inc/key-auth/ 但我想知道是否可以将属性添加到某个API键或将其链接到某个配置。 让我举例说明: 我有3个API API 1 API 2 API 3 在香港API网关

  • 我正在尝试使用python中的Google Vault API为组织中的所有用户创建导出请求 我已经试着随着时间的推移降低API请求的速度。睡眠(x)。我尝试修改脚本,一次只做一个帐户,手动运行脚本。 当我导出整个组织时,它会创建一个巨大的zip文件,这个文件没有用,因为我不知道什么属于谁。因此,我尝试创建单独的导出请求。 在当前脚本中,我看到这个错误"配额度量'vault.googleapis.

  • 问题内容: 我知道可以通过以下方法在Flask中设置请求大小的整体限制: 但是我想确保一个特定的路由将不接受特定大小的POST数据。 问题答案: 你需要检查一下特定路线本身;你可以随时测试内容长度;是一个或整数值: 在访问请求中的表单或文件数据之前,请执行此操作。 你可以将其变成装饰器以供查看: 然后将其用作: 本质上这就是Flask所做的;当你尝试访问请求数据时,在尝试解析请求正文之前,首先检查

  • 我正在写一个网络爬虫,运行并行抓取许多不同的域。我想限制每秒向每个域发出的请求数量,但我不关心打开的连接总数,也不关心跨所有域发出的每秒请求总数。我想最大限度地增加打开连接和每秒请求的总数,同时限制对单个域的每秒请求数。 我可以找到的所有现有示例(1)限制打开连接的数量,或(2)限制在fetch循环中每秒发出的请求总数。例子包括: aiohttp:速率限制并行请求 它们都不做我要求的事情,即限制每

  • 速率限制配置参考 filter.http.RateLimit filter.http.RateLimit proto { "domain": "...", "stage": "...", "request_type": "...", "timeout": "{...}" } domain (string, REQUIRED) 需要调用速率限制服务时的域。 stage (uint3