Перезапись заголовков HTTP-запроса и ответа с помощью шлюза приложений Azure — портал Azure

В этой статье описывается, как использовать портал Azure для настройки экземпляра SKU версии Шлюз приложений Azure версии 2 для перезаписи заголовков HTTP в запросах и ответах.

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

Подготовка к работе

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

Создание необходимых объектов

Чтобы настроить перезапись заголовков HTTP, выполните следующие действия.

  1. Создайте объекты, необходимые для перезаписи заголовка HTTP:

    • Действие перезаписи: используется для указания полей запроса и заголовка запроса, которые требуется перезаписать, и нового значения для заголовков. Можно связать одно или несколько условий перезаписи с действием по перезаписи.

    • Условие перезаписи: необязательная конфигурация. Условия перезаписи оценивают содержимое запросов и ответов HTTP(S). Действие перезаписи возникает, если запрос ИЛИ ответ HTTP(S) соответствует условию перезаписи.

      При связывании более одного условия с действием оно выполняется только при соблюдении всех условий. Другими словами, операция является логической AND операцией.

    • Правило перезаписи: содержит несколько сочетаний действий перезаписи и перезаписи условий.

    • Порядковое значение правила: помогает определить порядок выполнения правил перезаписи. Эта конфигурация полезна при наличии нескольких правил перезаписи в наборе правил перезаписи. Сначала выполняется правило перезаписи с меньшим значением последовательности правил. Если вы назначаете одно и то же значение последовательности правил двум правилам перезаписи, порядок выполнения недетерминирован.

    • Набор правил перезаписи: содержит несколько правил перезаписи, которые будут связаны с правилом маршрутизации запросов.

  2. Присоедините набор правил перезаписи к правилу маршрутизации. Эта конфигурация перезаписи присоединяется к прослушивателю источника с помощью правила маршрутизации.

    • При использовании базового правила маршрутизации конфигурация перезаписи связывается с прослушивателем источника и выполняется перезапись глобального заголовка.
    • При использовании правила маршрутизации на основе пути конфигурация перезаписи заголовка определяется в сопоставлении URL-пути. Поэтому в данном случае она применяется только к области конкретного пути на сайте.

Можно создать несколько наборов правил перезаписи заголовков HTTP и применить каждый набор перезаписи к нескольким прослушивателям. Однако вы можете применить только один набор правил перезаписи к конкретному прослушивателю.

Вход в Azure

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

Настройка перезаписи заголовка

В этом примере мы изменим URL-адрес перенаправления, перезаписав заголовок расположения в http-ответе, отправляемом серверным приложением.

  1. Выберите Все ресурсы, а затем выберите свой шлюз приложений.

  2. В области служб выберите "Перезапись".

  3. Выберите набор перезаписи.

    Снимок экрана: добавление набора перезаписи.

  4. Укажите имя для набора переопределения и свяжите его с правилом маршрутизации:

    1. В поле "Имя" введите имя набора перезаписи.
    2. В списке связанных правил маршрутизации выберите одно или несколько правил. Выберите только правила, которые еще не связаны с другими наборами перезаписи. Правила, уже связанные с другими наборами перезаписи, неактивны.
    3. Выберите Далее.

    Снимок экрана: добавление имени и связи.

  5. Создайте правило переопределения:

    1. Выберите Добавить правило перезаписи.

      Снимок экрана: добавление правила перезаписи.

    2. В поле "Имя правила переопределения" введите имя правила перезаписи. В поле последовательности правил введите число.

      Снимок экрана: добавление имени правила переопределения.

  6. В этом примере мы перезаписываем заголовок расположения только в том случае, если он содержит ссылку azurewebsites.netна . Чтобы выполнить этот шаг, добавьте условие для оценки того, содержит azurewebsites.netли заголовок расположения в ответе:

    1. Выберите "Добавить условие", а затем выберите поле, содержащее инструкции If , чтобы развернуть его.

      Снимок экрана: добавление условия.

    2. В списке Тип проверяемой переменной выберите Заголовок HTTP.

    3. В списке Тип заголовка выберите Ответ.

    4. В разделе Имя заголовкавыберите Общий заголовок. В этом примере мы оцениваем заголовок расположения, который является общим заголовком.

    5. В списке Общий заголовок выберите Расположение.

    6. В разделе С учетом регистра выберите Нет.

    7. В списке Оператор выберите равно (=).

    8. Введите шаблон регулярного выражения. В этом примере мы используем шаблон (https?):\/\/.*azurewebsites.net(.*)$.

    9. Нажмите ОК.

    Снимок экрана: настройка условия If.

  7. Добавьте действие для перезаписи заголовка расположения:

    1. В списке Тип действия выберите Задать.
    2. В списке Тип заголовка выберите Ответ.
    3. В разделе Имя заголовкавыберите Общий заголовок.
    4. В списке Общий заголовок выберите Расположение.
    5. Введите значение заголовка. В этом примере мы используем {http_resp_Location_1}://contoso.com{http_resp_Location_2} в качестве значения заголовка. Это значение заменяется azurewebsites.net contoso.com в заголовке расположения.
    6. Нажмите ОК.

    Снимок экрана: добавление действия.

  8. Нажмите кнопку "Создать", чтобы создать набор перезаписи.

    Снимок экрана: выбор элемента

  9. Откроется область перезаписи . Убедитесь, что созданный набор перезаписи находится в списке наборов перезаписи.

    Снимок экрана: перезапись представления набора.

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