Перезапись URL-адреса с помощью Шлюз приложений Azure — портал Azure
В этой статье описывается, как использовать портал Azure для настройки экземпляра SKU версии Шлюз приложений Azure версии 2 для перезаписи URL-адреса.
Примечание.
Функция перезаписи URL-адресов доступна только для номера SKU Standard_v2 и Брандмауэр веб-приложений_v2 Шлюз приложений. При настройке перезаписи URL-адресов в шлюзе с поддержкой Брандмауэр веб-приложений Брандмауэр веб-приложений оценка выполняется по заголовкам запросов перезаписи и URL-адресу. Дополнительные сведения см. в разделе "Использование перезаписи URL-адреса" или перезаписи заголовка узла с помощью Брандмауэр веб-приложений (WAF_v2 SKU).
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Подготовка к работе
Чтобы выполнить действия, описанные в этой статье, необходимо иметь экземпляр SKU версии 2 Шлюз приложений. Перезапись URL-адреса не поддерживается в номере SKU версии 1. Если у вас нет SKU версии 2, создайте экземпляр SKU шлюза приложений версии 2 перед началом.
Вход в Azure
Войдите на портал Azure с помощью своей учетной записи Azure.
Настройка переопределения URL-адреса
В следующем примере каждый раз, когда URL-адрес запроса содержит /article
, путь к URL-адресу и строка запроса URL-адреса перезаписываются. Например:
contoso.com/article/123/fabrikam
->contoso.com/article.aspx?id=123&title=fabrikam
Выберите Все ресурсы, а затем выберите свой шлюз приложений.
В области служб выберите "Перезапись".
Выберите набор перезаписи.
Введите имя набора перезаписи и свяжите его с правилом маршрутизации:
В поле "Имя" введите имя набора перезаписи.
В списке связанных правил маршрутизации выберите один или несколько правил. Этот шаг связывает конфигурацию перезаписи с исходным прослушивателем с помощью правила маршрутизации. Выберите только те правила маршрутизации, которые еще не связаны с другими наборами перезаписи. Правила, уже связанные с другими наборами перезаписи, неактивны.
Выберите Далее.
Создайте правило переопределения:
Выберите Добавить правило перезаписи.
В поле "Имя правила переопределения" введите имя правила перезаписи.
В поле последовательности правил введите число.
В этом примере мы перезаписываем путь URL-адреса и строку запроса URL только в том случае, если путь содержится
/article
. Чтобы выполнить этот шаг, добавьте условие для оценки того, содержит/article
ли URL-путь:Нажмите кнопку "Добавить условие", а затем выберите поле, содержащее инструкции If , чтобы развернуть его.
В поле "Тип переменной" для проверки списка выберите переменную сервера. В этом примере мы хотим проверить шаблон
/article
в пути URL-адреса.В списке переменных сервера выберите
uri_path
.В разделе С учетом регистра выберите Нет.
В списке Оператор выберите равно (=).
Введите шаблон регулярного выражения. В этом примере мы используем шаблон
.*article/(.*)/(.*)
Скобки () используются для записи подстроки для последующего использования при создании выражения для перезаписи ПУТИ URL-адреса. Дополнительные сведения см. в разделе "Сопоставление шаблонов" и "Запись".
Нажмите ОК.
Добавьте действие для перезаписи URL-адреса и пути URL-адреса:
В списке Тип перезаписи выберите URL-адрес.
В списке Тип действия выберите Задать.
В разделе "Компоненты" выберите путь URL-адреса и строку запроса URL-адреса.
В поле Значение URL-пути введите новое значение пути. В этом примере мы используем
/article.aspx
.В поле Значение строки запроса URL введите новое значение строки URL-запроса. В этом примере мы используем
id={var_uri_path_1}&title={var_uri_path_2}
.Пути
{var_uri_path_1}
и{var_uri_path_2}
пути используются для получения подстроок, захваченных при оценке условия в выражении.*article/(.*)/(.*)
Нажмите ОК.
Нажмите кнопку "Создать", чтобы создать набор перезаписи.
Убедитесь, что новый набор перезаписи отображается в списке наборов перезаписи.
Проверка перезаписи URL-адреса с помощью журналов доступа
Просмотрите следующие поля в журналах доступа, чтобы проверить, произошла ли перезапись URL-адреса в соответствии с вашими ожиданиями:
originalRequestUriWithArgs
: это поле содержит исходный URL-адрес запроса.requestUri
: это поле содержит URL-адрес после операции перезаписи в Шлюз приложений.
Дополнительные сведения обо всех полях в журналах доступа см . в журнале Access.
Связанный контент
Дополнительные сведения о настройке перезаписей для некоторых распространенных вариантов использования см. в разделе "Распространенные сценарии перезаписи".