Поделиться через


Выполнение выбора маршрута на основе параметров с помощью Шлюза приложений Azure - портал Azure

В этой статье описывается, как использовать портал Azure для настройки экземпляра SKU Azure Application Gateway версии 2, чтобы выполнять выбор пути на основе параметров, сочетая возможности перезаписи URL-адресов с маршрутизацией по пути.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Прежде чем начать

Чтобы выполнить действия, описанные в этой статье, необходимо иметь экземпляр Шлюза приложений SKU v2. Переписывание URL и заголовков не поддерживается в SKU версии 1. Если у вас нет SKU версии 2, создайте экземпляр SKU шлюза приложений версии 2 перед началом.

Вход в Azure

Войдите на портал Azure с помощью своей учетной записи Azure.

Настройка выбора пути на основе параметров

В этом примере у вас есть веб-сайт покупок. Категория продукта передается в виде строки запроса в URL-адресе. Чтобы перенаправлять запрос на серверную часть на основе строки запроса, выполните следующие действия.

  1. Создайте карту пути.

    Снимок экрана: сценарий переопределения URL-адресов 1-1.

  2. Создайте набор перезаписи с тремя правилами перезаписи:

    • Первое правило имеет условие, которое проверяет query_string переменную для category=shoes. Действие перезаписывает путь URL-адреса в /listing1. Включено повторное вычисление карты.

    • Во втором правиле есть условие, которое проверяет query_string переменную для category=bags. Действие перезаписывает путь URL-адреса в /listing2. Включено повторное вычисление карты.

    • Третье правило имеет условие, которое проверяет query_string переменную для category=accessories. Действие перезаписывает путь URL-адреса в /listing3. Включено повторное вычисление карты.

      Снимок экрана: сценарий переопределения URL-адресов 1-2.

  3. Свяжите этот набор перезаписи с путем по умолчанию предыдущего правила, использующего путь.

    Снимок экрана: сценарий перезаписи URL-адресов 1-3.

Если пользователь запрашивает contoso.com/listing?category=any, он соответствует пути по умолчанию, так как шаблоны пути в карте пути (/listing1, /listing2, /listing3) не совпадают. Так как вы связали предыдущий набор перезаписи с этим путем, этот набор перезаписи оценивается. Строка запроса не соответствует условию в любом из трех правил перезаписи в этом наборе перезаписи, поэтому действие перезаписи не выполняется. Запрос направляется без изменений в backend, связанный с путем по умолчанию (GenericList).

Если пользователь запрашивает contoso.com/listing?category=shoes, путь по умолчанию соответствует. В этом случае условие в первом правиле совпадает. Выполняется действие, связанное с условием, которое перезаписывает путь URL на /listing1 и повторно оценивает карту пути. При повторном вычислении карты пути запрос соответствует пути, связанному с шаблоном /listing1. Запрос направляется в серверную часть, связанную с этим шаблоном (ShoesListBackendPool).

Примечание.

Этот сценарий можно расширить до любого значения заголовка или файла cookie, URL-пути, строки запроса или переменных сервера на основе определенных условий. Затем можно маршрутизировать запросы на основе этих условий.

Дополнительные сведения о настройке некоторых распространенных вариантов использования см. в разделе Сценарии изменения заголовков.