次の方法で共有


Azure Application Gateway でパラメーター ベースのパス選択を実行する - Azure portal

この記事では、Azure portal を使用して、URL Rewrite の機能とパスベースのルーティングを組み合わせてパラメーター ベースのパス選択を実行するように Azure Application Gateway v2 SKU インスタンスを構成する方法について説明します。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

開始する前に

この記事の手順を完了するには Application Gateway v2 SKU インスタンスが必要です。 v1 SKU では、URL 書き換えとヘッダーの書き換えはサポートされていません。 v2 SKU を持っていない場合は、始める前に Application Gateway v2 SKU インスタンスを作成してください。

Azure へのサインイン

Azure アカウントで Azure Portal にサインインします。

パラメーター ベースのパス選択を構成する

この例では、ショッピング Web サイトがあります。 製品カテゴリは、URL 内のクエリ文字列として渡されます。 クエリ文字列に基づいて要求をバックエンドにルーティングするには、次の手順を実行します。

  1. パス マップを作成します。

    URL 書き換えシナリオの 1-1 を示すスクリーンショット。

  2. 3 つの書き換え規則を含む書き換えセットを作成します。

    • 1 つ目の規則には、query_string 変数の category=shoes を確認する条件があります。 アクションで URL パスを /listing1 に書き換えます。 [パス マップの再評価] は有効です。

    • 2 つ目の規則には、query_string 変数の category=bags を確認する条件があります。 アクションで URL パスを /listing2 に書き換えます。 [パス マップの再評価] は有効です。

    • 3 つ目の規則には、query_string 変数の category=accessories を確認する条件があります。 アクションで URL パスを /listing3 に書き換えます。 [パス マップの再評価] は有効です。

      URL 書き換えシナリオの 1-2 を示すスクリーンショット。

  3. この書き換えセットを上記のパスベースのルールの既定のパスに関連付けます。

    URL 書き換えシナリオの 1-3 を示すスクリーンショット。

ユーザーが contoso.com/listing?category=any を要求した場合、パス マップ内のパス パターン (/listing1、/listing2、/listing3) が一致しないため、既定のパスと一致します。 前の書き換えセットをこのパスに関連付けたため、この書き換えセットが評価されます。 クエリ文字列はこの書き換え設定にある書き換え規則 3 つの条件いずれとも一致しないため、書き換えアクションは行われません。 要求は既定のパス (GenericList) に関連付けられているバックエンドに変更なしでルーティングされます。

ユーザーが contoso.com/listing?category=shoes を要求した場合、既定のパスが一致します。 この場合は最初の規則の条件が一致します。 条件に関連付けられているアクションが実行され、URL パスが /listing1 に書き換えられてパス マップが再評価されます。 パス マップが再評価されると、要求はパターン /listing1 に関連付けられたパスと一致します。 要求は、このパターン (ShoesListBackendPool) に関連付けられたバックエンドにルーティングされます。

Note

定義された条件に基づいて、このシナリオを任意のヘッダーまたは Cookie の値、URL パス、クエリ文字列、またはサーバー変数に拡張できます。 そうすると、それらの条件に基づいて要求をルーティングできます。

一般的なユース ケースの設定方法の詳細については、共通ヘッダーの再書き込みシナリオに関する記事を参照してください。