コンテンツにスキップ

URIパスとホストヘッダーの変更

受信リクエストのURIパスと`Host`ヘッダーの両方をTransform RulesとOrigin Rulesを使用して変更します。

受信リクエストのURIパスとホストヘッダーを同時に変更するには:

  1. Cloudflareダッシュボードにログインし、アカウントとドメインを選択します。
  2. Transform Ruleを作成します:
    • Rules > Transform Rulesに移動します。
    • Rewrite URLタブをクリックし、Create ruleを選択します。
    • パスを変更するようにルールを設定します。たとえば、パスから/uploadsを削除するには:

Expression Editorのテキスト:

raw.http.request.uri.path matches "^/uploads/.*"

Path > Rewrite to… > Dynamicの後のテキスト:

regex_replace(raw.http.request.uri.path, "^/uploads/", "/")

regex_replace() functionは、パスの/uploads/部分を/に置き換え、/uploads/example.jpg/example.jpgに変更します。

  1. Origin Ruleを作成します:
    • オブジェクトストレージバケットにトラフィックをルーティングする場合は、Cloud Connectorを使用します。そうでない場合は、Rules > Origin Rulesに移動します。
    • Create ruleをクリックし、**Host Header > Rewrite to…**を選択します。
    • ルールを設定して、ホストヘッダーを希望のホスト名に変更します:

Expression Editorのテキスト:

raw.http.request.uri.path matches "^/uploads/.*"

Host Header > **Rewrite to…**の後のテキスト:

example.com

これにより、マッチするリクエストのHost headerexample.comに設定されます。

オプション: 異なるオリジン(DNSターゲット)にリクエストをルーティングするには、DNS overrideを使用します:

DNS Record > **Override to…**の後のテキスト:

example.com

これにより、リクエストはデフォルトのDNS recordの代わりにexample.comのDNSターゲットにルーティングされます。

この設定により、https://<YOUR_SOURCE_HOSTNAME>/uploads/*からhttps://<YOUR_TARGET_HOSTNAME>/*へのトラフィックがルーティングされます。Transform RulesOrigin Rules(またはCloud Connector)のフィルターが正確であることを確認し、意図しないルールの実行を避けてください。

ルールは順番に評価されることを忘れないでください。したがって、Transform RulesはOrigin RulesまたはCloud Connectorの前に実行されます。

example.comを実際のホスト名に置き換え、例のパスを設定に応じて調整してください。これらの手順に従うことで、URIパスとホストヘッダーの両方を効果的に管理し、トラフィックを適切にルーティングし、リクエスト処理を最適化できます。