URL 書き換え

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

この機能を使用すると、シナリオ、デバイスの種類、または要求されたファイルの種類に基づいて、さまざまな配信元にユーザーをリダイレクトできます。

URL 書き換えの設定は、ルール セットの構成で確認できます。

ルール セットを使用して URL 書き換えを作成する画面のスクリーンショット。

ソース パターン

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

URL 書き換えのソース パターンでは、ルート構成の "照合対象のパターン" の後のパスのみが考慮されます。 たとえば、<Frontend-domain>/<route-patterns-to-match-path>/<Rule-URL-Rewrite-Source-pattern> という受信 URL 形式がある場合、/<Rule-URL-Rewrite-Source-pattern> のみがルール エンジンによって書き換えられるソース パターンと見なされます。 したがって、ソース パターンの一致を使用した URL 書き換えルールがある場合、送信 URL の形式は <Frontend-domain>/<route-patterns-to-match-path>/<Rule-URL-Rewrite-destination> になります。

URL パスの /<route-patterns-to-match-path セグメントを削除する必要があるシナリオの場合は、ルート構成の元のグループの元のパスを / に設定し ます。

到着地

書き換えに使用する宛先パスを定義できます。 宛先のパスは、ソース パターンを上書きします。

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

[一致しないパスを保持する] を指定すると、ソース パターンの後に残っているパスを新しいパスに追加できます。

たとえば、 [一致しないパスを保持する] を [はい] に設定したとします。

  • 着信要求が www.contoso.com/sub/1.jpg の場合、ソース パターンは / に設定され、宛先は /foo/ に設定されて、コンテンツは配信元の /foo/sub/1.jpg から取得されます。

  • 着信要求が www.contoso.com/sub/image/1.jpg の場合、ソース パターンは /sub/ に設定され、宛先は /foo/ に設定されて、コンテンツは配信元の /foo/image/1.jpg から取得されます。

たとえば、 [一致しないパスを保持する] を [いいえ] に設定したとします。

  • 着信要求が www.contoso.com/sub/image/1.jpg の場合、ソース パターンは /sub/ に設定され、宛先は /foo/2.jpg に設定されて、wwww.contoso.com/sub/ でどのパスが後続していてもコンテンツは配信元の /foo/2.jpg から取得されます。

バックエンドに転送する要求を作成するときに、オプションのカスタム転送パスを構成して使用すると、Azure Front Door (クラシック) で URL 書き換えがサポートされます。 既定では、カスタム転送パスが指定されていない場合、Front Door により、転送された要求で使用される URL に受信 URL パスがコピーされます。 転送された要求で使用されるホスト ヘッダーは、選択されたバックエンド用に構成されています。 その機能と構成方法については、「バックエンド ホスト ヘッダー」をご覧ください。

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

たとえば、一致パス/foo/* で、カスタム転送パス用に /fwd/ が構成されている場合、ワイルドカード以降のすべてのパスのセグメントは、次の図にオレンジ色で示されている転送パスにコピーされます。 この例では、受信 URL パス/foo/a/b/c の場合、転送パス/fwd/a/b/c になります。 次の図に緑色で示されているワイルドカードは、a/b/c パスのセグメントによって置き換えられます。

Azure Front Door での URL パスの書き換えの図

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 /* // /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/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/* // /fwd/bar /foo/bar /foo/bar/bar

Note

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

オプション設定

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

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

次のステップ