Настройка Службы приложений с помощью Шлюза приложений

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

  • Первый вариант использует личный домен как на Шлюз приложений, так и на Служба приложений в серверной части.
  • Второй вариант — иметь Шлюз приложений доступ Служба приложений с помощью своего домена по умолчанию, суффиксированного как ".azurewebsites.net".

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

Связывание одного и того же имени домена с Шлюз приложений и Служба приложений в серверном пуле не требует переопределения имени узла. Серверное веб-приложение увидит исходный узел, который использовался клиентом.

Scenario overview for Application Gateway to App Service using the same custom domain for both

Из этой статьи вы узнаете о следующем.

  • Настройка DNS
  • Добавление Служба приложений в серверный пул в Шлюз приложений
  • Настройка HTTP-Параметры для подключения к Служба приложений
  • Настройка прослушивателя HTTP
  • Настройка правила маршрутизации запросов

Необходимые компоненты

Настройка DNS

В контексте этого сценария DNS имеет отношение к двум местам:

  • DNS-имя, которое использует пользователь или клиент для Шлюз приложений и что показано в браузере
  • DNS-имя, которое Шлюз приложений используется внутренне для доступа к Служба приложений в серверной части.

Перенаправите пользователя или клиента в Шлюз приложений с помощью личного домена. Настройте DNS с помощью псевдонима CNAME, указываемого на DNS для Шлюз приложений. Шлюз приложений DNS-адрес отображается на странице обзора связанного общедоступного IP-адреса. Кроме того, создайте запись A, указывающую на IP-адрес напрямую. (Для Шлюз приложений версии 1 виртуальный IP-адрес может измениться при остановке и запуске службы, что делает этот параметр нежелательным.)

Служба приложений следует настроить таким образом, чтобы он принимал трафик из Шлюз приложений с помощью имени личного домена в качестве входящего узла. Дополнительные сведения о сопоставлении личного домена с Служба приложений см. в руководстве по сопоставлению существующего пользовательского DNS-имени с приложение Azure службой для проверки домена, Служба приложений требуется только добавить запись TXT. Для записи CNAME или A-records не требуется никаких изменений. Конфигурация DNS для личного домена будет оставаться направлена на Шлюз приложений.

Чтобы принять подключения к Служба приложений по протоколу HTTPS, настройте ее привязку TLS. Дополнительные сведения см. в статье "Защита пользовательского DNS-имени с привязкой TLS/SSL" в службе приложение Azure Настройка Служба приложений для извлечения сертификата для личного домена из Azure Key Vault.

Добавление службы приложений в качестве серверного пула

  1. В портал Azure выберите Шлюз приложений.

  2. В разделе Серверные пулы выберите серверный пул.

  3. В разделе Тип целевого объекта выберите Службы приложений.

  4. В разделе Целевой объект выберите свою Службу приложений Azure.

    App service backend

    Примечание.

    В раскрывающемся списке отображаются только те службы приложений, которые находятся в той же подписке, что и Шлюз приложений. Если вы хотите использовать службу приложений, которая находится в подписке, отличной от подписки, в которой находится Шлюз приложений, вместо выбора Служба приложений в раскрывающемся списке "Цели", выберите IP-адрес или имя узла и введите имя узла (example.azurewebsites.net) службы приложений.

  5. Выберите Сохранить.

Изменение параметров HTTP для Службы приложений Azure

Параметр HTTP требуется, чтобы Шлюз приложений получить доступ к серверной части Служба приложений с помощью имени личного домена. Параметр HTTP по умолчанию будет использовать пробу работоспособности по умолчанию. Хотя пробы работоспособности по умолчанию будут пересылать запросы с именем узла, в котором получен трафик, пробы работоспособности будут использовать 127.0.0.1 в качестве имени узла в серверный пул, так как имя узла явно не определено. По этой причине необходимо создать настраиваемую пробу работоспособности, настроенную с правильным именем личного домена в качестве имени узла.

Мы подключимся к серверной части с помощью HTTPS.

  1. В разделе HTTP Параметры выберите существующий параметр HTTP или добавьте новый.
  2. При создании нового параметра HTTP присвойте ему имя
  3. Выберите HTTPS в качестве требуемого внутреннего протокола с помощью порта 443
  4. Если сертификат подписан хорошо известным центром, выберите "Да" для сертификата известного ЦС пользователя. Кроме того, можно добавить сертификаты проверки подлинности и доверенных корневых сертификатов внутренних серверов
  5. Обязательно установите для параметра "Переопределение с новым именем узла" значение "Нет"
  6. Выберите настраиваемую пробу работоспособности HTTPS в раскрывающемся списке "Настраиваемая проба".

Configure H T T P Settings to use custom domain towards App Service backend using No Override

Настройка прослушивателя HTTP

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

  1. Откройте раздел "Прослушиватели" и выберите "Добавить прослушиватель" или щелкните существующий, чтобы изменить
  2. Для нового прослушивателя: присвойте ему имя
  3. В разделе "Внешний IP-адрес" выберите IP-адрес для прослушивания
  4. В разделе "Порт" выберите 443
  5. В разделе "Протокол" выберите "HTTPS"
  6. В разделе "Выбор сертификата" выберите "Выбрать сертификат из Key Vault". Дополнительные сведения см. в разделе "Использование Key Vault ", где вы найдете дополнительные сведения о том, как назначить управляемое удостоверение и предоставить ему права на хранилище ключей.
    1. Присвойте сертификату имя
    2. Выберите управляемое удостоверение
    3. Выберите Key Vault, из которого нужно получить сертификат.
    4. Выбор сертификата
  7. В разделе "Тип прослушивателя" выберите "Базовый"
  8. Нажмите кнопку "Добавить", чтобы добавить прослушиватель

Add a listener for H T T P S traffic

Настройка правила маршрутизации запросов

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

  1. В разделе "Правила" щелкните, чтобы добавить новое правило маршрутизации запросов.
  2. Укажите правило с именем
  3. Выберите прослушиватель HTTP или HTTPS, который еще не привязан к существующему правилу маршрутизации
  4. В разделе "Целевые объекты серверной части" выберите серверный пул, в котором настроены Служба приложений
  5. Настройка параметров HTTP, с помощью которых Шлюз приложений должен подключаться к серверной части Служба приложений
  6. Нажмите кнопку "Добавить", чтобы сохранить эту конфигурацию

Add a new Routing rule from the listener to the App Service Backend Pool using the configured H T T P Settings

Тестирование

Прежде чем это сделать, убедитесь, что серверная часть работоспособности отображается как работоспособное:

Откройте раздел "Работоспособность серверной части" и убедитесь, что столбец "Состояние" указывает сочетание параметра HTTP и внутреннего пула.

Check backend health in Azure portal

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

Ограничение доступа

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

  • Настройте правила ограничения доступа на основе конечных точек службы. Это позволяет заблокировать входящий доступ к приложению, убедившись, что исходный адрес находится в Шлюз приложений.
  • Используйте ограничения статических IP-адресов службы приложение Azure. Например, можно ограничить веб-приложение, чтобы получать трафик только из шлюза приложения. Используйте функцию ограничения IP-адреса для службы приложения, чтобы сделать виртуальный IP-адрес шлюза приложения единственным адресом с доступом.