単一の IP からのレート制限を無効にする方法

こんにちは、メインサイトがDiscourseに頻繁にアクセスしている(Discourse SSOを使用し、ダブル無視ブロックなどを設定しているため)ことで、至る所でレート制限に引っかかって困っています。:frowning:

良い知らせとしては、呼び出し元サイトが固定IPで動作している点です。そこで、特定のIPからのすべてのAPIリクエストをグローバルにホワイトリストに登録し、レート制限をトリガーしないようにする方法はありますか?

実際、一般的にレート制限を完全に無効化する方法はあるでしょうか?ユーザーに独自のAPIキーを持たせていないため、実際には私のアプリがいつでもDiscourseを呼び出して何らかの処理を行えるようにしたいだけです。現在はレート制限が邪魔になっています。

「いいね!」 2

リクエスト間で何かをキャッシュしていますか?

「いいね!」 2

はい、その通りです。Discourse のメンバー ID と自サイトの主要 ID の関連付けを追跡するためにローカルキャッシュを実装しており、不要な API 呼び出しを防ぐため、最後に実行したアクションの時刻も記録しています。

ただし、自サイトが混雑すると、多くのメンバーがフォーラムに出入りします。また、双方向無視によるブロックのシミュレーションを実装しているため、誰かのブロックリストにある全員に対して一連の API 呼び出しを行う必要があります。もし私のメンバーの一人が 5 人をブロックしている場合、それは簡単に 15〜20 回の API 呼び出しに相当します。

「いいね!」 1

これは、あなたが引き上げたい制限のようです。

より良いアプローチとしては、プラグインを追加して sync_blocks エンドポイントを実装し、リストの修正ごとに API 呼び出しを 1 回だけ行うようにすることかもしれません。

「いいね!」 8

なるほど、これらの設定は知りませんが、調べてみます!ヒントをありがとうございます。

「いいね!」 1