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


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

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

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

Снимок экрана: действие перезаписи URL-адресов в конфигурации набора правил.

Исходный шаблон

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

В контексте действия перезаписи URL-адреса следует учитывать только путь после сопоставления шаблонов в конфигурации маршрута для исходного шаблона. Например, набор правил учитывается только /source-pattern в качестве исходного шаблона для перезаписи, если у вас есть входящий формат contoso.com/pattern-to-match/source-patternURL-адреса. После применения перезаписи URL-адреса будет contoso.com/pattern-to-match/destinationформат исходящего URL-адреса.

В случаях, когда необходимо удалить /pattern-to-match сегмент URL-адреса, можно задать путь к источнику для группы источников в конфигурации маршрута на /.

Назначение

Путь назначения представляет путь, заменяющий исходный шаблон. Например, если путь URL-адреса запроса имеет значение contoso.com/foo/1.jpg, а исходный шаблон — /foo/, то указание — /bar/ это приводит к тому, что содержимое обслуживается из contoso.com/bar/1.jpg с исходного источника.

Сохранить непройденный путь

Сохранить несовпадный путь позволяет управлять тем, как оставшийся путь после обработки исходного шаблона. При установке параметра "Сохранять несовпадающий путь" на Да, оставшаяся часть пути добавляется к новому пути. С другой стороны, при установке значения "Нет" (по умолчанию) будет удален оставшийся путь после исходного шаблона.

Ниже приведен пример отображения поведения сохранения несовпадного пути:

Сохранение несоответствующего пути Исходный шаблон Назначение Входящий запрос Содержимое, поставляемое с источника
Да / /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
Да /суб/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
Нет /суб/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

Внимание

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

Azure Front Door (классическая версия) поддерживает перезапись URL-адресов, предоставляя возможность настройки настраиваемого пути пересылки при установке правила типа маршрутизации пересылки. По умолчанию, если определён только прямой слеш (/*), Front Door реплицирует путь входящего URL-адреса в переадресованном запросе. Заголовок узла, используемый в переадресованном запросе, основан на конфигурации выбранной серверной части. Дополнительные сведения см. в документации по заголовку узла серверной части.

Ключевым аспектом перезаписи URL-адреса является возможность копирования любой соответствующей части входящего пути в переадресованный путь при использовании пользовательского пути пересылки с подстановочным знаком. В следующей таблице показан пример входящего запроса и соответствующий переадресованный путь при использовании настраиваемого пути пересылки /fwd/. Раздел, обозначающийся как a/b/c , представляет часть, которая заменяет совпадение с подстановочными знаками.

Путь входящего URL-адреса Путь сопоставления Пользовательский путь переадресации Переадресованный путь
/foo/a/b/c /foo/* /вперед/ /fwd/a/b/c

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

Рассмотрим правило маршрутизации со следующим сочетанием фронтенд-хостов и путей, которые настроены:

Хосты Пути
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

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

Например, рассмотрим вторую строку таблицы. Если входящий запрос www.contoso.com/sub, а пользовательский путь пересылки /, то переадресованный путь будет /sub. Однако если для настраиваемого пути пересылки задано /fwd/, то переадресованный путь будет /fwd/sub. Выделенные части путей указывают части, которые являются частью подстановочного знака.

Входящий запрос Путь с наиболее конкретным соответствием / /вперед/ /foo/ /foo/bar/
www.contoso.com/ /* / /вперёд/ /foo/ /foo/bar/
www.contoso.com/sub /* / sub /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/a/b/c /* / a/b/c /fwd/a/b/c /foo/a/b/c /foo/bar/a/b/c
www.contoso.com/foo /foo / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/ /foo/* / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/bar /foo/* / bar /fwd/bar /foo/bar /foo/bar/bar

Примечание.

Azure Front Door (классическая версия) поддерживает только перезапись URL-адресов из статического пути на другой статический путь. Сохранение неизменного пути поддерживается в Azure Front Door уровней Standard и Premium. Дополнительные сведения см. в разделе Сохранение не совпадающего пути.

Необязательные параметры

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

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