Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Hash

最終更新 Markdown で表示Agent セットアップ

Hash steering(ハッシュステアリング) は、エンドポイントのウェイト と、その IP アドレスからの過去のリクエストを組み合わせて、Cloudflare がリクエストをエンドポイントへ送る方法です。同じ IP アドレスからのリクエストは同じエンドポイントに届きますが、実際のトラフィック配分はエンドポイントのウェイトと異なることがあります。

Workers を使う場合の制限

Hash Steering は、リクエストの送信元 IP アドレスを特定するために x-forwarded-for ヘッダーを使います。ただし、ロードバランサーの前に Cloudflare Worker を置くと、Hash Steering の動作に影響します。

ブラウザーからのリクエストには x-forwarded-for ヘッダーがありません。Worker がロードバランサーへリクエストをプロキシすると、ヘッダーには元のクライアント IP ではなく Worker の IP が入ります。Worker の IP(多くの場合 Cloudflare のパブリック IP)はリクエストごとに変わることがあるため、Hash Steering は同じクライアントのリクエストを別のエンドポイントへ送り、ルーティングが安定しなくなることがあります。

回避策

ロードバランサーの前に Worker を置く場合に Hash Steering を正しく動かすには、Worker で x-forwarded-for ヘッダーをクライアントの元の IP アドレスに手動で設定します。x-forwarded-forCF-Connecting-IP を設定すると、Hash Steering は想定どおりに動き、エンドユーザー向けのトラフィックが安定します。

役に立ちましたか?