Перезапись заголовков HTTP-запроса и ответа с помощью шлюза приложений Azure — портал Azure
В этой статье описывается, как использовать портал Azure для настройки экземпляра SKU шлюза приложений версии 2 для перезаписи заголовков HTTP в запросах и ответах.
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Подготовка к работе
Для выполнения действий, описанных в этой статье, вам потребуется экземпляр Шлюза приложений версии 2. Перезапись заголовков не поддерживается в SKU версии 1. Если у вас нет SKU версии 2, создайте экземпляр SKU шлюза приложений версии 2 перед началом.
Создание необходимых объектов
Чтобы настроить перезапись HTTP-заголовка, необходимо выполнить следующие действия.
Создайте объекты, необходимые для перезаписи заголовка HTTP:
Действие перезаписи: используется для указания полей запроса и заголовка запроса, которые требуется перезаписать, и нового значения для заголовков. Можно связать одно или несколько условий перезаписи с действием по перезаписи.
Условие перезаписи: необязательная конфигурация. Условия перезаписи оценивают содержимое запросов и ответов HTTP(S). Действие перезаписи будет выполнено, если запрос или ответ HTTP(S) соответствует условию перезаписи.
При связывании более одного условия с действием оно выполняется только при соблюдении всех условий. Иными словами, операция является логической операцией "И" (AND).
Правило перезаписи: содержит несколько сочетаний "действие перезаписи"/"условие перезаписи".
Порядковое значение правила: помогает определить порядок выполнения правил перезаписи. Эта конфигурация полезна при наличии нескольких правил перезаписи в наборе правил перезаписи. Сначала выполняется правило перезаписи с меньшим значением последовательности правил. Если присвоить одно и то же значение последовательности правил двум правилам перезаписи, порядок выполнения не детерминирован.
Набор правил перезаписи: содержит несколько правил перезаписи, которые будут связаны с правилом маршрутизации запросов.
Присоедините набор правил перезаписи к правилу маршрутизации. Эта конфигурация перезаписи присоединяется к прослушивателю источника с помощью правила маршрутизации. При использовании базового правила маршрутизации конфигурация перезаписи связывается с прослушивателем источника и выполняется перезапись глобального заголовка. При использовании правила маршрутизации на основе пути конфигурация перезаписи заголовка определяется в сопоставлении URL-пути. Поэтому в данном случае она применяется только к области конкретного пути на сайте.
Можно создать несколько наборов правил перезаписи заголовков HTTP и применить каждый набор перезаписи к нескольким прослушивателям. Однако вы можете применить только один набор правил перезаписи к конкретному прослушивателю.
Вход в Azure
Войдите на портал Azure с помощью своей учетной записи Azure.
Настройка перезаписи заголовков
В этом примере мы изменим URL-адрес перенаправления, перезаписав заголовок расположения в http-ответе, отправляемом серверным приложением.
Выберите Все ресурсы, а затем выберите свой шлюз приложений.
В левой панели выберите Перезаписи.
Выберите Набор правил перезаписи:
Укажите имя для набора переопределения и свяжите его с правилом маршрутизации:
Введите имя набора правил перезаписи в поле Имя.
Выберите одно или несколько правил, перечисленных в списке Связанные правила маршрутизации. Можно выбрать только те правила, которые не связаны с другими наборами правил перезаписи. Правила, которые уже связаны с другими наборами правил перезаписи, недоступны.
Выберите Далее.
Создайте правило переопределения:
Выберите Добавить правило перезаписи.
Введите имя для правила переопределения в поле Имя правила перезаписи. Введите число в поле Последовательность правил.
В этом примере заголовок расположения будет перезаписан только в том случае, если он содержит ссылку на azurewebsites.net. Для этого добавьте условие, определяющее, содержится ли текст "azurewebsites.net" в заголовке расположения в ответе:
Выберите Добавить условие, а затем выберите поле, содержащее инструкции Если, чтобы развернуть его.
В списке Тип проверяемой переменной выберите Заголовок HTTP.
В списке Тип заголовка выберите Ответ.
Так как в этом примере мы оцениваем заголовок расположения, который является общим заголовком, выберите Общий заголовок в разделе Имя заголовка.
В списке Общий заголовок выберите Расположение.
В разделе С учетом регистра выберите Нет.
В списке Оператор выберите равно (=).
Введите шаблон регулярного выражения. В этом примере мы будем использовать шаблон
(https?):\/\/.*azurewebsites.net(.*)$
.Нажмите ОК.
Добавьте действие для перезаписи заголовка расположения:
В списке Тип действия выберите Задать.
В списке Тип заголовка выберите Ответ.
В разделе Имя заголовкавыберите Общий заголовок.
В списке Общий заголовок выберите Расположение.
Введите значение заголовка. В этом примере мы будем использовать
{http_resp_Location_1}://contoso.com{http_resp_Location_2}
в качестве значения заголовка. Это значение заменит azurewebsites.net в заголовке расположения на contoso.com.Нажмите ОК.
Выберите Создать, чтобы создать набор перезаписи:
Откроется окно "Набор правил перезаписи". Убедитесь, что созданный набор правил перезаписи находится в списке наборов правил перезаписи:
Следующие шаги
Дополнительные сведения о том, как настроить некоторые распространенные варианты использования, см. в статье Сценарии перезаписи общих заголовков.