Настройка Azure Front Door с сайтами Power Pages

Как создатель веб-сайта вы можете использовать Azure Front Door с порталами Power Pages, чтобы использовать возможности периферийного кэширования и брандмауэра веб-приложений (WAF). В этой статье вы узнаете, как настроить Azure Front Door с Power Pages.

Заметка

Выполните следующие действия, чтобы настроить Azure Front Door с Power Pages:

  1. Настройте конечную точку Azure Front Door и пользовательское доменное имя, которые будут использовать пользователи веб-сайта..
  2. Настройте свой веб-сайт Power Pages как источник.
  3. Настройте правила маршрутизации для кеширования статических запросов.
  4. Настройте правила WAF для анализа входящих запросов.
  5. Настройте сайт на прием трафика только от Azure Front Door.

Настройте конечную точку Azure Front Door и пользовательское доменное имя

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

Предварительные условия

  • Подписка Azure с доступом для создания новых служб.

  • Пользовательское доменное имя и доступ к поставщику DNS для настройки пользовательского доменного имени.

  • Сертификат SSL, который будет использоваться для пользовательского доменного имени. Сертификат должен соответствовать минимальным требованиям для Power Pages.

  • Доступ владельца к Power Pages, чтобы настроить пользовательское доменное имя.

Настройка конечной точки Azure Front Door

Заметка

Если вы уже создали ресурс Azure Front Door, перейдите к шагу 3 следующей процедуры.

  1. Войдите на портал Azure и создайте новый ресурс Azure Front Door (стандартный или премиум). Больше информации: Краткое руководство: создание профиля Azure Front Door стандарт или премиум — портал Azure

    Создание ресурса Azure Front Door.

  2. Выберите Быстрое создание.

    Совет

    Большинство настроек Azure Front Door можно будет изменить позже.

    Создание Azure Front Door и настройки.

  3. Выберите или заполните следующие данные для настройки ресурса.

    Вариант Описание
    Сведения о проекте Параметры, относящиеся к организации ресурса, как и любой другой ресурс Azure.
    Отток подписок Выберите подписку, в которой будет создан ресурс Azure Front Door.
    Группа ресурсов Выберите группу ресурсов для Azure Front Door. Также можно создать новую группу ресурсов.
    Расположение группы ресурсов Расположение группы ресурсов.
    Сведения о профиле Конфигурация для Azure Front Door.
    Имя. Имя ресурса Azure Front Door.
    Уровень Выберите уровень для ресурса Azure Front Door. В этой статье мы выбрали уровень премиум, который позволяет получить доступ к набору правил, управляемому Microsoft, и набору правил предотвращения ботов для WAF.
    Параметры конечной точки Настройки конечной точки Azure Front Door.
    Имя конечной точки Введите имя для запросов Azure Front Door. Это имя является фактическим URL-адресом, который будет обслуживать трафик для пользователей. Позже мы настроим пользовательское доменное имя, указывающее на этот URL.
    Тип источника Выберите Пользовательский.
    Имя узла источника Имя узла вашего сайта Power Pages.
    Формат: yoursitename.powerappsportals.com или yoursitename.microsoftcrmportals.com без https:// в начале.
    Например: contoso.powerappsportals.com
    Приватный канал Не включайте службу приватных каналов.
    Кэширование Включите кэширование. Кэширование использует возможности пограничного кэширования для статического содержимого.
    Кеширование обсуждается далее в разделе "Настройте правила маршрутизации для кеширования статических запросов", далее в этой статье.
    Поведение кэширования строк запросов Выберите Использовать строку запроса. Этот параметр гарантирует, что если страница имеет динамическое содержимое, удовлетворяющее строке запроса, она учитывает строку запроса.
    Сжатие Включите сжатие.
    Политика WAF Создайте политику WAF или используйте существующую.
    Для получения информации о политике WAF перейдите по ссылке "Настроить правила WAF для анализа входящих запросов" далее в этой статье, а также Учебник: создание политики брандмауэра веб-приложений в Azure Front Door с помощью портала Azure.
  4. Выберите Обзор + создать и дождитесь завершения настройки. Обычно это занимает от 5 до 10 минут.<

  5. Проверьте настройку, перейдя по URL-адресу конечной точки (например, contoso.example.azurefd.net) и убедившись, что он показывает контент из вашего сайта Power Pages.

    Просмотр конечной точки.

    Совет

    Если вы видите ответ «404 Не найдено», возможно, установка не завершена. Подождите и попробуйте еще раз.

Установка пользовательского доменного имени

Пока конечная точка Azure Front Door настроена для обслуживания трафика с серверной части сайтов Power Pages. Однако в этой настройке по-прежнему используется URL-адрес Azure Front Door, что вызовет такие проблемы, как сбои при проверке captcha или проблемы с масштабированием.

Веб-браузеры отклоняют файлы cookie, установленные порталами Power Pages, когда вы используете URL-адрес конечной точки Azure Front Door, отличный от URL-адреса вашего сайта. Следовательно, вы должны настроить пользовательское доменное имя как для сайта, так и для конечной точки Azure Front Door.

  1. Настройте пользовательское доменное имя на своем сайте. Больше информации: Добавить пользовательское доменное имя.

  2. Включите пользовательское доменное имя сайта на ресурсе Azure Front Door, выполнив следующие действия:

    1. Обновите своего поставщика DNS, удалив запись CNAME, созданную ранее во время настройки собственного домена для Power Pages. Следует обновить только CNAME; не удаляйте исходное имя узла. DNS будет указывать CNAME на конечную точку Azure Front Door. Единственная цель добавления CNAME заключалась в том, чтобы гарантировать, что настраиваемое имя узла будет присутствовать на Power Pages. Это присутствие гарантирует, что Power Pages может обслуживать трафик к этому собственному доменному имени через Azure Front Door, и для всех файлов cookie портала также будет правильно настроен домен.

    2. Настройте пользовательское доменное имя в конечной точке Azure Front Door, выполнив следующие действия: Создание пользовательского домена в SKU Azure Front Door стандарт или премиум с помощью портала Azure.

  3. Проверьте следующее, чтобы проверить настройку:

    1. Пользовательское доменное имя указывает на конечную точку Azure Front Door. Используйте nslookup, чтобы убедиться, что запись CNAME для конечной точки Azure Front Door возвращается правильно. Если запись CNAME по-прежнему указывает на Power Pages, вам необходимо это исправить.

    2. При переходе к пользовательскому доменному имени отображается страница вашего веб-сайта Power Pages.

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

Настройте сайт как сервер-источник

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

Диспетчер конечных точек.

Во время настройки быстрого создания, которую вы выполнили ранее, вы ввели данные конечной точки, которые автоматически создали конфигурацию с именем default-origin-group(associated) (это имя зависит от настроек языка и региональных стандартов). На этом шаге вы измените настройки для default-origin-group. На следующем изображении показано, как выглядят настройки для этого шага при первом открытии исходной группы.

Исходная группа, увиденная впервые.

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

Совет

Power Pages обеспечивает высокую доступность на уровне службы, поэтому при настройке источников для порталов достаточно одного сервера-источника.

Единый источник для Power Pages должен указывать на имя узла вашего портала (которое вы настроили ранее). Если вы не выполнили действия быстрой настройки, вы можете добавить новый источник, указывающий на имя узла вашего сайта.

На следующем изображении показан пример конфигурации источника.

Конфигурация источника.

Используйте следующие параметры, чтобы настроить источник для Power Pages.

Вариант Тип или значение конфигурации
Тип источника Выберите Пользовательский.
Имя узла источника Введите имя узла вашего сайта. Например: contoso.powerappsportals.com
Заголовок узла источника Введите пользовательское доменное имя или оставьте поле пустым. Первый вариант гарантирует, что Azure Front Door отправляет исходный заголовок как пользовательское доменное; второй вариант заставляет его проходить через то, что пользователь предоставил при выполнении запроса.
Порт HTTP 80
Порт HTTPS 443
Приоритет 1
Вес 1000
Приватный канал Отключено
Состояние. Установите флажок Включить этот источник.

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

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

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

Проверка конфигурации источника.

Настройте правила маршрутизации для кеширования статических запросов

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

Настройка маршрутов.

Для настройки правил нам потребуется сделать следующее:

  1. Настройте конфигурацию маршрута.
  2. Установите набор правил.
  3. Свяжите набор правил с маршрутом.
  4. Проверьте правила и конфигурацию маршрута.

Настройте конфигурацию маршрута

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

Конфигурация маршрутов.

Обновите конфигурацию маршрута, как описано в следующей таблице.

Вариант Настройка
Раздел доменов
Домены Доменное имя, которое вы использовали при настройке пользовательского доменного имени ранее.
Шаблоны для соответствия Задано как /* (значение по умолчанию); все запросы сайта будут отправлены в один и тот же источник в нашей настройке.
Принятые протоколы Установлено как Только HTTPS, чтобы гарантировать безопасность всего обслуживаемого трафика.
Перенаправление Установите флажок Перенаправить весь трафик на использование HTTPS.
Раздел исходной группы
Исходная группа Установите исходную группу, которую вы определили ранее.
Путь к источнику Оставьте пустым.
Протокол пересылки Установите либо Только HTTPS, либо Соответствовать входящему запросу.
Раздел кеширования
Кэширование Установите флажок Включить кеширование, если вы хотите использовать периферийной кэширование.
Поведение кэширования строк запросов Выберите Использовать строку запроса чтобы обеспечить возможность обслуживания динамического содержимого на основе строки запроса.
Сжатие Выберите Включить сжатие для оптимизации доставки контента.

Установите набор правил

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

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

  • Все статические файлы кэшируются и обслуживаются пограничными серверами.
  • Никакое содержимое страницы не кэшируется.

Чтобы настроить этот набор правил

  1. На левой панели выберите Набор правил, а затем выберите Добавить набор правил.

    Настроить набор правил.

  2. Введите имя набора правил, а затем сохраните его.

    Создайте новый набор правил.

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

Требование: все статические файлы кэшируются и обслуживаются пограничными серверами

Сайт в этом сценарии может содержать статические файлы с расширениями имен файлов CSS, PNG, JPG, JS, SVG, WOFF и ICO. Следовательно, нам нужно правило для оценки расширения имени файла запроса и проверки конкретных типов файлов.

Заметка

Есть другие способы написать это правило, например, используя URL-адрес запроса или имя файла. Дополнительные сведения об условиях соответствия правил Azure Front Door см. в Условия соответствия обработчика правил Azure Front Door.

Пример условия запроса расширений файлов.

Снимок экрана условием ЕСЛИ с именем «Запросить расширение файла» с оператором, установленным как "равно", значением, установленным как css png jpg js svg woff ico и Преобразованием регистра, установленным как "Без преобразования".

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

Пример действия истечения срока действия кэша.

В конце концов, полное правило выглядит как на следующем изображении.

Окончательное правило расширения файла.

Требование: никакое содержимое страницы не кэшируется

В общем, настройка сайта Power Pages гарантирует, что если на странице есть встроенная форма (что означает, что она обслуживает контент, касающийся записи), у нее будет свое значение заголовка Cache-control, заданное как частный, что гарантирует, что Azure Front Door не кэширует этот запрос. Однако этот метод не принимает во внимание сценарии, в которых вы используете шаблоны Liquid для встраивания пользовательского контента на страницы, например для отображения определенной записи для группы пользователей. Следовательно, мы добавим явное правило, чтобы гарантировать, что ни одна страница сайта не кэшируется.

Первый шаг — настройка условия. Условие выполняет обратную проверку того, что мы сделали в первом правиле, и проверяет, что запрос не включает расширение имени файла, которое указывает на один из типов файлов, которые мы хотим кэшировать.

Пример условия запроса расширений файлов Не равно.

Снимок экрана условием ЕСЛИ с именем «Запросить расширение файла» с оператором, установленным как "Не равно", значением, установленным как css png jpg js svg woff ico и Преобразованием регистра, установленным как "Без преобразования".

В условии действия, как и в предыдущем правиле, напишем действие для Срок действия кэша. Однако на этот раз мы установим поведение как Обход кэша. Это гарантирует, что любой запрос, соответствующий этому правилу, не будет кэширован.

Конфигурация времени истечения кэша.

Полное правило выглядит как на следующем изображении.

Полное правило для кэширования содержимого страницы.

Свяжите набор правил с маршрутом

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

  1. Выберите набор правил, а затем выберите Связать маршрут на панели команд.

    Выберите, чтобы связать маршрут с набором правил.

  2. Выберите имя конечной точки и доступный маршрут. Может быть доступно несколько маршрутов, поэтому выберите тот, который вы настроили ранее.

    Свяжите маршрут

  3. Если у вас есть несколько наборов правил и вы хотите определить порядок, в котором они должны оцениваться, выберите Изменить порядок набора правил и настройте порядок. В нашем примере сценария есть только один набор правил.

    Измените порядок наборов правил.

  4. Нажмите Готово, чтобы завершить операцию.

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

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

Чтобы гарантировать, что весь трафик обслуживается через HTTPS, а все HTTP-вызовы перенаправляются на HTTPS.

  • Введите доменное имя в браузере и убедитесь, что URL-адрес автоматически изменится на HTTPS во время отрисовки содержимого.

Чтобы правила кэширования оценивались и работали должным образом

Чтобы проверить правила кэширования, нам необходимо проанализировать сетевые трассировки на панели инструментов разработчика веб-браузера, чтобы убедиться, что заголовки кэширования для различных типов контента установлены правильно.

Заметка

Отражение изменений правил может занять до 10 минут.

  1. Откройте новую вкладку браузера, откройте панель инструментов разработчика и перейдите к URL-адресу сайта Power Pages (убедитесь, что вы открыли панель инструментов разработчика перед переходом по URL-адресу).

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

  3. Выберите запрос для любого файла CSS из списка запросов.

    В разделе Заголовки ответа сведений о запросе убедитесь, что заголовок с именем x-cache присутствует. Этот заголовок гарантирует, что запрос обслуживается пограничными серверами и может быть кэширован. Если значение x-cache задано как CONFIG_NOCACHEили как любое другое значение, содержащее термин NOCACHE, установка неверна.

    Заголовок ответа, называемый x-cache, со значением попадания в кэше.

  4. Как и в предыдущем шаге, выберите запрос Страница и проверьте его заголовки. Если x-cache задано как CONFIG_NOCACHE, ваша установка работает правильно.

    Заголовок ответа называется x-cache со значением CONFIG_NOCACHE для Страницы.

Настройте правила WAF для анализа входящих запросов

Следующим шагом в настройке является настройка правил WAF для входящих запросов. В этой статье мы рассмотрим только основные шаги. Для расширенной конфигурации WAF перейдите в Брандмауэр веб-приложений Azure в Azure Front Door.

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

    Вкладка безопасности для конфигурации Azure Front Door.

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

  2. Выберите имя политики WAF.

  3. Выберите Параметры политики, а потом:

    1. Включить проверку текста запроса: установите этот флажок, если вы хотите, чтобы текст запроса проверялся в дополнение к файлам cookie, заголовкам и URL-адресам.

    2. URL-адрес перенаправления: введите URL-адрес, не связанный с сайтом. По этому URL-адресу пользователь будет перенаправлен, если правило WAF настроено на перенаправление. Убедитесь, что этот URL-адрес доступен публично и анонимно.

    3. Код состояния запроса на блокировку: этот код состояния HTTP возвращается пользователю, если запрос заблокирован WAF.

    4. Текст ответа блокировки: здесь вы можете добавить собственное сообщение, которое будет показано пользователю, если запрос заблокирован WAF.

    Параметры политики для WAF.

  4. Чтобы настроить набор правил, по которому будет оцениваться каждый запрос, выполните следующие действия:

    1. В левой области выберите Управляемые правила.

      Управляемые правила — набор правил

    2. На панели команд выберите Назначить, а затем выберите из списка наборов правил по умолчанию. Наборы управляемых правил находятся под управлением Microsoft и регулярно обновляются. Для получения дополнительной информации о наборах правил перейдите по ссылке Группы правил и правила DRS брандмауэра веб-приложений.

      Управление набором правил — Назначить

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

Внимание

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

Мы рекомендуем вам выполнить тщательное тестирование в режиме предотвращения, чтобы убедиться, что все сценарии работают, и убедиться, что вам не нужно настраивать набор правил или добавлять политики исключения. Вы должны включать режим предотвращения только после того, как убедитесь, что вся система работает должным образом.

Настройте сайты Power Pages на прием трафика только от Azure Front Door

Последний шаг в этой настройке — убедиться, что ваш сайт Power Pages принимает трафик только от Azure Front Door. Для этой проверки нам нужно включить Ограничения по IP-адресу на сайте.

Чтобы найти диапазон IP-адресов, в котором работает Azure Front Door, перейдите по ссылке Как заблокировать доступ к моей серверной части только для Azure Front Door?.

Заметка

Сайт Power Pages не поддерживает фильтрацию на основе X-Azure-FDID.

Увеличьте время ответа источника

По умолчанию у Azure Front Door время ожидания ответа источника составляет 60 секунд. Однако мы рекомендуем увеличить это значение до 240 секунд, чтобы гарантировать, что длительные сценарии, такие как загрузка файлов или экспорт в Excel, работают должным образом.

  1. В левой области выберите Диспетчер конечных точек.

    Выберите менеджер конечных точек.

  2. Выберите Изменить конечную точку.

    Выберите изменение конечной точки.

  3. В правом верхнем углу выберите Свойства конечной точки.

    Выберите свойства для конечной точки.

  4. Измените время ответа источника на 240 секунд, а затем выберите Обновить.

    Установите время ответа источника конечной точки на 240 секунд.

См. также

Что такое Azure Front Door?
Краткое руководство. Создание профиля Azure Front Door. Портал Azure
Создание пользовательского домена в SKU Azure Front Door стандарт или премиум с помощью портала Azure
Как заблокировать доступ к моей серверной части только для Azure Front Door?
Условия соответствия обработчика правил Azure Front Door