URL 書き換え

Azure Front Door では、配信元にルーティングされる要求パスを変更するために URL 書き換えがサポートされます。 URL 書き換えでは、条件を設定することで、特定の条件が満たされた場合にのみ、URL または指定したヘッダーが書き換えられるようにすることができます。 これらの条件は、要求と応答の情報に基づいています。

この機能を使用すると、エンド ユーザーをデバイスの種類または要求されたファイルの種類に基づいて、別の配信元にリダイレクトできます。 URL 書き換えアクションは、ルール セットの構成で確認できます。

ルール セット構成の URL 書き換えアクションのスクリーンショット。

ソース パターン

ソース パターンとは、置換する最初の要求の URL パスです。 現在、ソース パターンではプレフィックスに基づく一致が使用されます。 すべての URL パスを一致させるために、ソース パターン値としてスラッシュ (/) を定義できます。

URL 書き換えアクションのソース パターンの場合、ルート構成の "照合するパターン" の後のパスのみが考慮されます。 たとえば、contoso.com/pattern-to-match/source-pattern という受信 URL 形式の場合、/source-pattern のみがルール セットによって書き換えられるソース パターンと見なされます。 URL 書き換えが適用された後の送信 URL の形式は contoso.com/pattern-to-match/destination になります。

URL の /pattern-to-match セグメントを削除する必要がある場合は、ルート構成の配信元グループの配信元パス/ に設定します。

到着地

宛先パスは、ソース パターンを置き換えるために使用されます。 たとえば、要求 URL パスが contoso.com/foo/1.jpg で、ソース パターンが /foo/ で、宛先が /bar/ である場合、コンテンツは配信元の contoso.com/bar/1.jpg から提供されます。

一致しないパスを保持する

[一致しないパスを保持する] を指定すると、ソース パターンの後に残っているパスを新しいパスに追加できます。 一致しないパスの保持が [いいえ] (既定値) に設定されている場合、ソース パターンの後の残りのパスは削除されます。

一致しないパスを保持する ソース パターン 到着地 着信要求 配信元から提供されるコンテンツ
はい / /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
はい /sub/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
いいえ /sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

重要

Azure Front Door (クラシック) は、2027 年 3 月 31 日に廃止されます。 サービスの中断を回避するには、2027 年 3 月までに Azure Front Door の Standard または Premium レベルに Azure Front Door (クラシック) プロファイルを移行することが重要です。 詳細については、Azure Front Door (クラシック) の廃止に関するページを参照してください。

転送ルーティングの種類の規則を構成するときにカスタム転送パスを構成すると、Azure Front Door (クラシック) で URL の書き換えがサポートされます。 既定では、スラッシュ (/*) のみが定義されている場合、Front Door により、転送された要求で使用される URL に受信 URL パスがコピーされます。 転送された要求で使用されるホスト ヘッダーは、選択されたバックエンド用に構成されています。 詳細については、「バックエンド ホスト ヘッダー」を参照してください。

URL 書き換えの堅牢な部分としては、カスタム転送パスによって、転送されたパスに、ワイルドカード パスと一致する受信パスの任意の部分がコピーされることです。

次の表は、ワイルドカードを含む一致パスに対して、カスタム転送パスの /fwd/ を使用する場合の受信要求および対応する転送パスの例を示しています。 パスの a/b/c の部分は、ワイルドカードを置き換える部分を表します。

受信 URL パス 一致パス カスタム転送パス 転送パス
/foo/a/b/c /foo/* /fwd/ /fwd/a/b/c

URL 書き換えの例

次のフロントエンド ホストとパスの組み合わせが構成されているルーティング規則を考えてみましょう。

Hosts パス
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

次のテーブルの最初の列は、受信要求の例を示し、2 番目の列は、代表的な定義済みの一致するルートを示しています。 表の次の 3 つの列は、"カスタム転送パス" の例です。

たとえば、2 番目の行を読み取ると、受信要求 www.contoso.com/sub についてカスタム転送パスが / である場合、転送されたパスは /sub になることがわかります。 カスタム転送パスが /fwd/ である場合、転送されたパスは /fwd/sub になります。 パス内の太字で表示された部分は、ワイルドカード一致に含まれる部分を表しています。

着信要求 代表的な一致パス / /fwd/ /foo/ /foo/bar/
www.contoso.com/ /* / /fwd/ /foo/ /foo/bar/
www.contoso.com/sub /* /sub /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/a/b/c /* /a/b/c /fwd/a/b/c /foo/a/b/c /foo/bar/a/b/c
www.contoso.com/foo /foo / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/ /foo/* / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/bar /foo/* /bar /fwd/bar /foo/bar /foo/bar/bar

Note

Azure Front Door (クラシック) では、静的パスから別の静的パスへの URL 書き換えのみがサポートされます。 一致しないパスの保持は、Azure Front Door Standard および Premium でサポートされます。 詳細については、一致しないパスの保持に関する説明を参照してください。

オプション設定

所定のルーティング規則設定に指定できる、追加のオプション設定もあります。

  • [Cache Configuration] (キャッシュ構成) - 無効になっているか、または指定されていない場合、このルーティング規則と一致する要求から、キャッシュされたコンテンツを使用しようとするのではなく、代わりに常にバックエンドからフェッチされます。 詳細については、「Azure Front Door でのキャッシュ」を参照してください。

次のステップ