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


Перезапись заголовков 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. В этом примере мы перезаписываем заголовок 'Location' только в том случае, если он содержит ссылку на 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. Открывается панель перезаписей. Убедитесь, что созданный набор перезаписи включён в список доступных наборов.

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

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