如何禁用单个IP的速率限制

你好,我遇到了一个问题:我的主站频繁调用 Discourse(因为我使用了 Discourse SSO,并实施了双重忽略屏蔽等机制)……结果到处都触发了速率限制。:frowning:

好消息是,调用方的站点使用的是固定 IP……那么,有没有办法将来自特定 IP 的所有 API 请求全局加入白名单,从而永远不触发速率限制?

此外,一般来说,有没有办法完全关闭所有速率限制?我不允许用户拥有自己的 API 密钥,因此我只希望我的应用能够随时调用 Discourse 并执行任何操作。目前的速率限制确实成了阻碍。

你在请求之间缓存了任何内容吗?

是的,没错。我实现了一个本地缓存,用于跟踪 Discourse 成员 ID 与我网站主 ID 之间的对应关系,并记录上次执行某些操作的时间,从而避免不必要的 API 调用。

不过,当我的主网站流量较大时,会有大量成员进出论坛。由于我实施了双重忽略以模拟屏蔽功能,我的网站必须为某人屏蔽列表中的每个人进行一系列 API 调用。如果我的某个成员屏蔽了 5 个人,这很容易导致 15 到 20 次 API 调用。

听起来你想提高这个限制。

更好的方法可能是添加一个插件,增加一个 sync_blocks 端点,这样每次列表修改只需一次 API 调用。

好的,我不了解这些设置,但我会去调查一下!谢谢你的提示。