Skip to content

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

位置情報

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

Privacy Proxy は、実際の IP アドレスを公開せずにユーザーの位置情報を維持します。プライバシーを保ちつつ、位置情報に依存するサービスが正しく動きます。

位置情報が重要な理由

多くのオンラインサービスは、IP アドレスからユーザーの位置を判断します。

  • 検索エンジンは、その地域に関連する結果を返します。
  • コンテンツ提供者は、地域のライセンス制限を適用します。
  • EC サイトは、現地の価格と配送オプションを表示します。
  • ニュースサイトは、地域向けのコンテンツを表示します。

従来の VPN やプロキシでは、ユーザーの実際の位置から遠いデータセンターからトラフィックが出るため、これらのサービスが壊れることがよくあります。Privacy Proxy は、ユーザーの地理的な地域に合う egress IP アドレスを選ぶことで、この問題を解消します。

位置情報の仕組み

Privacy Proxy は geohash を使い、正確な座標を明かさずに位置を維持します。

Geohash エンコーディング

geohash は、緯度と経度のコンパクトな表現です。階層的なエンコーディングを使い、文字列が長いほど位置の精度が上がります。

Geohash の長さ おおよその範囲
1 文字 約 5,000 km
2 文字 約 1,250 km
3 文字 約 150 km
4 文字 約 40 km
5 文字 約 5 km

Privacy Proxy は精度を下げた geohash(通常は 4〜5 文字)を使い、正確な位置を特定せずに都市や地域レベルまでユーザーを特定します。

egress IP の選択

クライアントが Privacy Proxy に接続すると、次の処理が行われます。

  1. クライアント(またはダブルホップ構成の first-hop プロキシ)が、ユーザーのおおよその位置を判定します。
  2. クライアントは sec-ch-geohash ヘッダーで geohash を送ります。
  3. Privacy Proxy は geohash を検証し、その地理的エリアに登録されたプールから egress IP アドレスを選びます。
  4. 宛先サーバーは egress IP を見て、ユーザーを正しい地域に位置付けます。

Geohash ヘッダーの形式

sec-ch-geohash ヘッダーには、geohash と国コードが含まれます。

sec-ch-geohash: xn76c-JP

形式は <geohash>-<country_code> です。国コードは、geohash が国境をまたぐ場合の判定に使います。

位置情報の精度

Cloudflare は、世界数百都市に egress IP プールを用意しています。egress IP を位置情報データベースに登録すると、特定の場所に対応します。

Privacy Proxy の精度は次のとおりです。

  • デフォルトは 都市レベルの精度 です。ユーザーは地域に関連する検索結果を得られます。
  • 都市レベルが使えない場合は、フォールバックとして 国レベルの精度 になります。

より粗い位置情報(国とタイムゾーンのみ)を選ぶこともできます。

ピザテスト

位置情報の精度を確認する簡単な方法は、プロキシ経由で「近くのピザ」を検索することです。遠くのデータセンターではなく、ユーザーの実際の都市のピザ店が出れば、位置情報は正しく動作しています。

IPv6 と位置情報の精度

Privacy Proxy は IPv6 のほうが位置情報の精度が高くなります。オリジンサーバーが IPv6(AAAA DNS レコード)に対応している場合、プロキシは IPv6 の egress アドレスを優先します。IPv6 は IPv4 相当より細かい地理情報で登録されています。

ユーザー向けの位置情報精度を最大化するには、サービスを IPv6 で到達可能にしてください。

ダブルホップ構成での位置情報

ダブルホップ構成 では、運用する Proxy A が geohash の判定と転送を担当します。

  1. Proxy A がクライアントの IP アドレスから位置を判定します。
  2. Proxy A は、適切な精度の geohash に変換します。
  3. Proxy A は、Proxy B へ転送する CONNECT リクエストに geohash を含めます。
  4. Proxy B(Cloudflare)は geohash に基づいて egress IP を選びます。

geohash は暗号で保護されており、クライアントが位置を偽装できないようになっています。

関連リソース

役に立ちましたか?