我更改了所有能找到的速率限制,但仍然在某个地方达到了限制

我已经设置了这些限制。我正在自己的服务器上托管,有大量的用户(学校的教师和管理员)通过 API 调用(与一些其他专有软件集成的自定义前端)与之交互。

    - name: DISCOURSE_ENABLE_HTTPS
      value: "yes"
    - name: DISCOURSE_PRECOMPILE_ASSETS
      value: "yes"
    - name: DISCOURSE_MAX_REQS_PER_IP_MODE
      value: "none"
    - name: DISCOURSE_MAX_USER_API_REQS_PER_MINUTE
      value: "20000"
    - name: DISCOURSE_MAX_USER_API_REQS_PER_DAY
      value: "30000"
    - name: DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE
      value: "20000"
    - name: "DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE"
      value: "20000"
    - name: "DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS"
      value: "2000"
    - name: "DISCOURSE_MAX_ASSET_REQS_PER_IP_PER_10_SECONDS"
      value: "2000"
    - name: "DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL"
      value: "0"
    - name: "DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE"
      value: "20000"
    - name: "DISCOURSE_MESSAGE_BUS_MAX_BACKLOG_SIZE"
      value: "1000"

即使设置了这些值,用户在大约每分钟 60 次调用时仍然会达到某个限制。这似乎不是针对任何特定端点,而是整个 API 的某个全局速率限制。

1 个赞

我基本上想禁用所有 API 速率限制

您是否遇到了 Nginx 速率限制?您可以在 app.yml 文件的开头几行中删除它的模板。

1 个赞

Nginx 的速率限制会从 Discourse 的 locale 文件返回错误吗?我看到“您执行此操作的次数过多……”的语言。

另外,这是我正在使用的图片:Artifact Hub

我们不支持 Bitnami 安装,因为它不是由我们打包或认可的,抱歉。

1 个赞