Discourse のグローバルレートリミット

こんにちは、

Discourse をバージョン 2.2.5 にアップグレードしました。
これは、1 日あたりのユーザー 1 人あたりの投稿数に関する制限についてです。

現在のデフォルト設定は以下の通りです:
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE:IP あたりの 1 分間のリクエスト数(デフォルトは 200)
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS:IP あたりの 10 秒間のリクエスト数(デフォルトは 50)

これを以下に増やしたいと考えています:
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE:1000
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS:500

Discourse サーバーやパフォーマンスに影響が出るでしょうか?
一部のユーザーから、送信できる投稿数に制限に達しているという苦情が出始めているためです。

よろしくお願いいたします。

これはおそらく議論されているレート制限ではないと思います。制限に達した際のスクリーンショットを提供するか、詳細を入手してください。

私の推測では、ユーザーが初日の投稿数制限に遭遇しているようです。

ユーザーは以下のようなエラーを受け取ります:

01:09:42 {"errors":["このアクションを何度も実行しました。もう一度試す前に19秒お待ちください。"],"error_type":"rate_limit","extras":{"wait_seconds":19}}

それは確かに Nginx の IP ごとレート制限です。リバースプロキシの背後にいて、すべてのクライアント IP アドレスが同じ IP アドレスとして誤って送信されていないか確認してください。

常に同じユーザーですか?彼らはAPIを使おうとしているのでしょうか?

そうでない場合、影響を受けたユーザーのプロファイルを確認してください。IPアドレスは正確に見えますか?すべて同じ、あるいは類似していますか?もしそうなら、設定が間違っているリバースプロキシか、YMLで指定されたテンプレートなしでオレンジ色のクラウドを有効にしてCloudflareが使用されている可能性があります。

はい、同じユーザーを使って、ユーザー API キー経由で1分間に多数の投稿を生成しています。
しかし、現在、そのユーザーに対して許可される投稿数に制限があるとして不満を述べています。

以下の設定値を増やすことで解決する可能性があると思いますか?
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE : 1000
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS : 500

私も同じ問題に直面しました。APIを使いたかったのですが、こんなエラーが出てしまいました


管理者に対して特定のAPIのレート制限を設定できるようにしたいと考えています。
グローバルなレート制限の修正方法がわかりません。
どこにあるか教えていただければ幸いです。
中国から来たため、英語が下手で申し訳ありません。

当社は、一律の API レート制限のみを設けており、ルートごとに制限をカスタマイズする機能は備えていません。

お探しの制限は、サイト設定にあります。

  • トピック作成のレート制限
  • 投稿作成のレート制限
  • 新規ユーザーによるトピック作成のレート制限
  • 新規ユーザーによる投稿作成のレート制限

これらを変更するには、https://discourse.example.com/admin/site_settings/category/rate_limits?filter=create にアクセスしてください。