解説
ローテーティングプロキシは、単一のプロキシではなくサービスレベルの概念です。1つのIPを提供する代わりに、IPのプールへのアクセスを提供し、ゲートウェイは送信する各リクエスト(またはタイマーでローテーション)に異なるIPを選択します。宛先サイトには多くの異なるIPからのリクエストのストリームが届き、これがIP単位のレート制限に対する最も効果的な防御策です。
ローテーティングプロキシサービスは、ゲートウェイが引き出せる数億件の消費者IPで構成される基盤プールを持つ住宅プロキシの上に構築されるのが最も一般的です。各リクエストは独立して見えます。ゲートウェイは1つの接続を終了し、新しい出口IPを選択し、次のリクエストのために新しい接続を開くため、ターゲットサイトはあなたのアクティビティを単一のソースに追跡できません。
トレードオフはセッションの継続性です。複数のリクエストにわたって同じIPを必要とするもの(ログインフロー、複数ページのチェックアウト、IPバインドされたCSRFトークン)は、リクエスト単位のローテーションでは機能しなくなります。そのような場合には、ローテーションの前に定義されたウィンドウの間1つのIPを保持するスティッキーセッションを使用します。
仕組み
ローテーティングプロキシゲートウェイに接続すると、一度認証を行い、単一のエンドポイントに対するようにリクエストを送信します。ゲートウェイは利用可能な出口IP(製品によってレジデンシャル、ISP、またはモバイル)のプールを管理します。受信リクエストごとに、ランダム、ラウンドロビン、またはジオ/ヘルスフィルターに基づいてIPを選択し、そのIPを通じてリクエストを転送します。
送信先サイトには、すべてのリクエストが同じクライアントから発信されているにもかかわらず、N個の異なるIPからのNリクエストとして見えます。ゲートウェイはすべての接続管理、IPヘルスチェック、およびローテーションロジックを処理するため、クライアントの観点からは、リクエストごとに異なるソースIPを「魔法のように」返す単一のプロキシアドレスとなります。