Действия набора правил

Набор правил Azure Front Door состоит из правил с сочетанием условий соответствия и действий. В этой статье содержится подробное описание действий, которые можно использовать в наборе правил. Действие определяет поведение, применяемое к типу запроса, который идентифицируется условиями соответствия. В наборе правил правило может иметь до пяти действий. Front Door также поддерживает переменную сервера в действии набора правил.

Следующие действия доступны для использования в наборе правил:

Переопределение конфигурации маршрута

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

Вы также можете переопределить способ кэширования файлов для определенных запросов, в том числе:

  • Переопределить поведение кэширования, заданное источником.
  • Переопределить способ использования параметров строки запроса для создания ключа кэша запроса.
  • Переопределить значение времени жизни, определяющее, как долго содержимое остается в кэше.

Свойства

Свойство Поддерживаемые значения
Переопределение группы источников
  • Да. Переопределение группы источников, используемой для запроса.
  • Нет. Использование группы источников, указанной в маршруте.
Кэширование
  • Включено. Принудительное включение кэширования для запроса.
  • Отключено. Принудительное отключение кэширования для запроса.

Если для параметра Переопределить группу источников задано значение Да, установите следующие свойства:

Свойство Поддерживаемые значения
Исходная группа Группа источников, к которой должен быть направлен запрос. Этот параметр переопределяет конфигурацию, указанную в маршруте конечной точки Front Door.
Протокол пересылки Протокол, который Front Door использует при пересылке запроса в источник. Поддерживаемые значения: только HTTP, только HTTPS, соответствие входящему запросу. Этот параметр переопределяет конфигурацию, указанную в маршруте конечной точки Front Door.

Когда для параметра Кэширование задано значение Включено, установите следующие свойства:

Свойство Поддерживаемые значения
Поведение кэширования строк запросов
  • Игнорировать строки запроса. Строки запроса не учитываются при генерировании ключа кэша. В шаблонах ARM задайте для свойства queryStringCachingBehavior значение IgnoreQueryString.
  • Использовать строку запроса. Каждый уникальный URL-адрес имеет собственный ключ кэша. В шаблонах ARM используйте queryStringCachingBehavior из UseQueryString.
  • Игнорировать указанные строки запроса. Строки запроса, указанные в параметрах, исключаются при генерировании ключа кэша. В шаблонах ARM задайте для свойства queryStringCachingBehavior значение IgnoreSpecifiedQueryStrings.
  • Включать указанные строки запроса. Строки запроса, указанные в параметрах, включаются при генерировании ключа кэша. В шаблонах ARM задайте для свойства queryStringCachingBehavior значение IncludeSpecifiedQueryStrings.
Параметры запроса Список имен параметров для строки запроса с разделителями-запятыми. Это свойство задается, только если для параметра Поведение кэширования строки запроса задано значение Игнорировать указанные строки запроса или Включить указанные строки запроса.
Сжатие
  • Включено. Front Door может динамически сжимать содержимое на периферии, позволяя сократить размер ответов и ускорить их выдачу. Дополнительные сведения см. в разделе Сжатие файлов. В шаблонах ARM задайте для свойства isCompressionEnabled значение Enabled.
  • Disabled. Front Door не выполняет сжатие. В шаблонах ARM задайте для свойства isCompressionEnabled значение Disabled.
Поведение кэша
  • Происхождение чести: Front Door всегда учитывает директиву заголовка ответа источника. Если директива источника отсутствует, Front Door кэширует содержимое в любом месте от 1 до 3 дней. В шаблонах ARM задайте для свойства cacheBehavior значение HonorOrigin.
  • Переопределять всегда. Значение срока жизни, полученное от источника, перезаписывается значением, указанным в действии. Это поведение применяется только в том случае, если ответ можно кэшировать. В шаблонах ARM задайте для свойства cacheBehavior значение OverrideAlways.
  • Переопределять, если источник отсутствует. Если источник не возвращает значение срока жизни, правило устанавливает для срока жизни значение, указанное в действии. Это поведение применяется только в том случае, если ответ можно кэшировать. В шаблонах ARM задайте для свойства cacheBehavior значение OverrideIfOriginMissing.
Длительность кэширования Если для поведения кэширования задано значение Override always или Override if origin missing, в этих полях должна быть указана используемая длительность кэширования. Максимальная длительность — 366 дней. При значении 0 секунд CDN кэширует содержимое, но необходимо повторять проверку каждого запроса на сервере-источнике. Это свойство задается, только если для параметра Поведение кэша установлено значение Переопределять всегда или Переопределять, если источник отсутствует.
  • В портал Azure: укажите дни, часы, минуты и секунды.
  • В шаблонах ARM: используйте cacheDuration, чтобы указать длительность в формате d.hh:mm:ss.

Примеры

В этом примере мы направляем все совпадающие запросы в группу источников MyOriginGroup независимо от конфигурации в маршруте конечной точки Front Door.

Снимок экрана портала с действием переопределения группы источников.

В этом примере мы зададим ключ кэша, включив в него параметр строки запроса с именем customerId. Сжатие включено, и применяются политики кэширования источника.

Снимок экрана портала с действием строки запроса ключа кэша.

В этом примере мы переопределяем срок действия кэша, устанавливая значение 6 часов для совпадающих запросов, в которых не указана длительность кэширования. Front Door игнорирует строку запроса, когда определяет ключ кэша, и включено сжатие.

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

Изменение заголовка запроса

Используйте действие заголовка запроса, чтобы изменить заголовки в запросе при отправке в источник.

Свойства

Свойство Поддерживаемые значения
Оператор
  • Добавить: указанный заголовок добавляется в запрос с указанным значением. Если заголовок уже существует, значение добавляется к существующему значению заголовка с помощью объединения строк. Разделители не добавляются. В шаблонах ARM используйте headerAction из Append.
  • Перезаписать: указанный заголовок добавляется в запрос с указанным значением. Если такой заголовок уже существует, новое значение переопределяет существующее. В шаблонах ARM используйте headerAction из Overwrite.
  • Удалить: при наличии заголовка, указанного в правиле, он удаляется из запроса. В шаблонах ARM используйте headerAction из Delete.
Имя заголовка Имя заголовка, который нужно изменить.
Значение заголовка Значение, которое необходимо добавить или перезаписать.

Пример

В этом примере мы добавляем значение AdditionalValue в заголовок запроса MyRequestHeader. Если в источнике для заголовка ответа задано значение ValueSetByClient, то после применения этого действия заголовок запроса будет иметь значение ValueSetByClientAdditionalValue.

Снимок экрана портала с действием

Изменение заголовка ответа

Используйте действие заголовка ответа для изменения заголовков, присутствующих в ответах, прежде чем они возвращаются клиентам.

Свойства

Свойство Поддерживаемые значения
Оператор
  • Добавить: указанный заголовок добавляется в ответ с указанным значением. Если заголовок уже существует, значение добавляется к существующему значению заголовка с помощью объединения строк. Разделители не добавляются. В шаблонах ARM используйте headerAction из Append.
  • Перезаписать: указанный заголовок добавляется в ответ с указанным значением. Если такой заголовок уже существует, новое значение переопределяет существующее. В шаблонах ARM используйте headerAction из Overwrite.
  • Удалить: при наличии заголовка, указанного в правиле, он удаляется из ответа. В шаблонах ARM используйте headerAction из Delete.
Имя заголовка Имя заголовка, который нужно изменить.
Значение заголовка Значение, которое необходимо добавить или перезаписать.

Пример

В этом примере мы удаляем заголовок с именем X-Powered-By из ответов, прежде чем они будут возвращены клиенту.

Снимок экрана портала с действием

Перенаправление URL-адреса

Используйте действие перенаправление URL-адреса для перенаправления клиентов на новый URL-адрес. Front Door отправляет клиентам ответ перенаправления. Azure Front Door поддерживает динамическое захват пути URL-адреса с {url_path:seg#} помощью переменной сервера и преобразует путь URL-адреса в нижний регистр или верхний регистр.{url_path.tolower}{url_path.toupper} Дополнительные сведения см. в разделе "Переменные сервера".

Свойства

Свойство Поддерживаемые значения
Тип перенаправления Тип ответа, который будет возвращаться запрашивающему.
  • На портале Azure: найдено (302), перемещено (301), временное перенаправление (307), постоянное перенаправление (308).
  • В шаблонах ARM: Found, Moved, TemporaryRedirect, PermanentRedirect
Протокол перенаправления
  • На портале Azure: Match Request, HTTP, HTTPS
  • В шаблонах ARM: MatchRequest, Http, Https
Узел назначения Выберите имя узла, на который будет перенаправлен запрос. Оставьте поле пустым, чтобы сохранить входящий узел.
Путь назначения Путь для использования при перенаправлении. Включить начальный символ /. Оставьте поле пустым, чтобы сохранить входящий путь.
Строка запроса Строка запроса для использования при перенаправлении. Не включайте начальный символ ?. Оставьте поле пустым, чтобы сохранить входящую строку запроса.
Фрагмент места назначения Фрагмент для использования при перенаправлении. Оставьте поле пустым, чтобы сохранить входящий фрагмент.

Пример

В этом примере мы перенаправим запрос в https://contoso.com/exampleredirection?clientIp={client_ip}, сохранив фрагмент. Используется временное перенаправление HTTP (307). IP-адрес клиента используется вместо маркера {client_ip} в URL-адресе с помощью переменной сервераclient_ip.

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

Переопределение URL-адресов

Используйте действие переопределение URL-адресов, чтобы перезаписать путь в запросе, который поступает на ваш источник. Azure Front Door поддерживает динамическое захват пути URL-адреса с {url_path:seg#} помощью переменной сервера и преобразует путь URL-адреса в нижний регистр или верхний регистр.{url_path.tolower}{url_path.toupper} Дополнительные сведения см. в разделе "Переменные сервера".

Свойства

Свойство Поддерживаемые значения
Исходный шаблон Определите исходный шаблон в URL-пути для замены. В настоящее время исходный шаблон использует сопоставление на основе префикса. Чтобы сопоставить все URL-пути, используйте косую черту (/) в качестве исходного значения шаблона.
Назначение Определение пути назначения для использования в процедуре перезаписи. Этот путь перезаписывает исходный шаблон.
Сохранение несоответствующего пути Если задано значение Да, оставшийся после исходного шаблона путь добавляется к новому пути назначения.

Пример

В этом примере мы повторно создаем все запросы на путь /redirection и не сохраняем оставшуюся часть пути.

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

Внимание

Azure Front Door (классическая версия) будет прекращена 31 марта 2027 г. Чтобы избежать нарушений работы служб, важно перенести профили Azure Front Door (классический) на уровень Azure Front Door standard или Premium к марту 2027 года. Дополнительные сведения см. в статье azure Front Door (классическая версия) для выхода на пенсию.

В Azure Front Door (классическая модель) обработчик правил может включать до 25 правил, содержащих условия соответствия и связанные действия. В этой статье описано каждое действие, которое можно определить в правиле.

Действие определяет поведение, которое применяется к типу запроса, соответствующему условию или набору условий соответствия. В конфигурации обработчика правил правило может иметь до 10 условий соответствия и 5 действий. В одном правиле может быть только одно действие Переопределить конфигурацию маршрутизации.

Следующие действия доступны для использования в конфигурации обработчика правил.

Изменение заголовка запроса

Используйте эти действия для изменения заголовков, присутствующих в запросах, отправляемых в серверную часть.

Обязательные поля

Действие Имя заголовка HTTP Значение
Добавление Если выбирается этот параметр и запрос соответствует правилу, в запрос добавляется заголовок, указанный в поле Имя заголовка, с заданным значением. Если такой заголовок уже существует, новое значение добавляется к существующему. Строка
Перезаписать Если выбран этот параметр и запрос соответствует правилу, в запрос добавляется заголовок, указанный в поле Имя заголовка, с заданным значением. Если такой заголовок уже существует, новое значение переопределяет существующее. Строка
Удаление Если выбирается этот параметр, запрос соответствует правилу и в запросе присутствует указанный в правиле заголовок, этот заголовок удаляется из запроса. Строка

Изменение заголовка ответа

Используйте эти действия для изменения заголовков, присутствующих в ответах, возвращаемых вашим клиентам.

Обязательные поля

Действие Имя заголовка HTTP Значение
Добавление Если выбирается этот параметр и запрос соответствует правилу, в ответ добавляется заголовок, указанный в поле Имя заголовка, с заданным значением. Если такой заголовок уже существует, новое значение добавляется к существующему. Строка
Перезаписать Если выбран этот параметр и запрос соответствует правилу, в ответ добавляется заголовок, указанный в поле Имя заголовка, с заданным значением. Если такой заголовок уже существует, новое значение переопределяет существующее. Строка
Удаление Когда этот вариант выбран с правилами соответствия, и заголовок, указанный в правиле, присутствует, заголовок удаляется из ответа. Строка

Переопределение конфигурации маршрута

Тип маршрута: перенаправление

Используйте эти действия для перенаправления клиентов на новый URL-адрес.

Обязательные поля

Поле Description
Тип перенаправления Перенаправление — это способ отправить пользователей или клиентов с одного URL-адреса на другой. Тип перенаправления определяет код состояния, используемый клиентами для описания цели перенаправления.

Вы можете выбрать следующие коды состояния перенаправления: "Найдено" (302), "Перемещено" (301), "Временное перенаправление" (307) и "Постоянное перенаправление" (308).
Протокол перенаправления Сохраните протокол в соответствии с входящим запросом или определите новый протокол для перенаправления. Например, выберите "HTTPS" для перенаправления HTTP — HTTPS.
Узел назначения Задайте это значение, чтобы изменить имя узла в URL-адресе перенаправления или сохранить имя узла из входящего запроса.
Путь назначения Сохраните путь в соответствии с входящим запросом или обновите путь в URL-адресе для перенаправления.
Строка запроса Задайте это значение, чтобы заменить любую существующую строку запроса из URL-адреса входящего запроса или сохранить исходный набор строк запроса.
Фрагмент места назначения Фрагмент назначения — это часть URL-адреса после символа #, обычно используемая браузерами для перехода к определенному разделу страницы. Задайте это значение, чтобы добавить фрагмент в URL-адрес перенаправления.

Тип маршрута: пересылка

Используйте эти действия для переадресации клиентов на новый URL-адрес. Эти действия также содержат поддействия для перезаписи и кэширования URL-адресов.

Поле Description
Внутренний пул Выберите внутренний пул для переопределения и обслуживания запросов, вы увидите все предварительно настроенные серверные пулы в настоящее время в профиле Front Door.
Протокол пересылки Протокол, используемый для переадресации запроса в серверную часть, или сопоставления протокола из входящего запроса.
Переопределение URL-адресов Путь, используемый при создании запроса на перезапись URL-адреса для переадресации в серверную часть.
Кэширование Включите кэширование для этого правила маршрутизации. При включении Azure Front Door кэширует статическое содержимое.

Переопределение URL-адресов

Этот параметр позволяет настроить дополнительный пользовательский путь переадресации, который будет применяться при создании запроса для переадресации на сервер.

Поле Description
Пользовательский путь переадресации Определите путь, в который пересылаются запросы.

Кэширование

Используйте эти параметры, чтобы управлять кэшированием файлов для запросов, содержащих строки запросов. Следует ли кэшировать содержимое на основе всех параметров или выбранных параметров. Эти параметры можно использовать для перезаписи времени жизни (TTL) для управления временем хранения содержимого в кэше. Чтобы принудительно выполнить кэширование в качестве действия, задайте для поля "Кэширование" значение "Включено". При принудительном кэшировании отображаются следующие параметры:

Поведение кэша Description
Пропуск строки запроса После помещения ресурса в кэш все последующие запросы игнорируют строки запросов, пока не истечет срок хранения кэшированного ресурса.
Использование строки запроса Каждый запрос с уникальным URL-адресом, учитывая строку запроса, считается уникальным ресурсом с собственным кэшем.
Игнорировать указанные строки запроса Строки запросов к тем URL-адресам, которые указаны в параметре "Параметры запроса", игнорируются при кэшировании.
Включение указанных строк запроса Строки запросов к тем URL-адресам, которые указаны в параметре "Параметры запроса", используются при кэшировании.
Другие поля Description
Динамическое сжатие Front Door может динамически сжимать содержимое на границе, что позволяет сократить размер ответов и ускорить их выдачу.
Параметры запроса Разделенный запятыми список разрешенных или запрещенных параметров, который будет использоваться как основа для кэширования.
Использование продолжительности кэширования по умолчанию Задайте для использования длительности кэширования Azure Front Door по умолчанию или определите длительность кэширования, которая игнорирует директиву ответа источника.

Следующие шаги