URL 書き換え
Azure Front Door では、配信元にルーティングされる要求のパスを変更するために 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
パスのセグメントによって置き換えられます。
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 でのキャッシュに関する詳細を参照してください。
次のステップ
- Azure Front Door プロファイルを作成する方法について学習します。
- Azure Front Door のルール セットの詳細を確認します
- Azure Front Door のルーティング アーキテクチャについて確認します。