Настройка внутренних пулов для шифрования
Серверный пул содержит серверы, реализующие приложение. Шлюз приложений Azure направляет запросы на эти серверы и может сбалансировать трафик между этими серверами.
На портале доставки серверы приложений в серверном пуле должны использовать SSL для шифрования данных, передаваемых между шлюзом приложений и серверами в серверном пуле. Шлюз приложений использует SSL-сертификат с открытым ключом для шифрования данных. Серверы используют соответствующий закрытый ключ для расшифровки данных по мере получения. В этом уроке вы узнаете, как создать внутренний пул и установить необходимые сертификаты в Шлюзе приложений. Эти сертификаты помогают защитить сообщения, отправленные в и из серверного пула.
Шифрование от шлюза приложений до пула серверов
Серверный пул может ссылаться на отдельные виртуальные машины, масштабируемый набор виртуальных машин, IP-адреса реальных компьютеров (локально или удалённо исполняемые) или службы, размещенные на платформе Azure App Service. Все серверы в серверном пуле должны быть настроены одинаково, включая их параметры безопасности.
Если трафик, направленный в внутренний пул, защищен через SSL, каждый сервер в серверном пуле должен предоставить подходящий сертификат. Для тестирования можно создать самозаверяющий сертификат. В рабочей среде всегда следует создать или приобрести сертификат, подлинность которого может подтвердить центр сертификации.
В настоящее время существует две версии шлюза приложений: версии 1 и 2. Они имеют аналогичные возможности, но имеют немного разные сведения о реализации. Версия 2 предоставляет дополнительные возможности и улучшения производительности.
Настройка сертификата в шлюзе приложений версии 1
Для шлюза приложений версии 1 необходимо установить сертификат проверки подлинности для серверов в конфигурации шлюза. Этот сертификат содержит открытый ключ, который шлюз приложений использует для шифрования сообщений и проверки подлинности серверов. Этот сертификат можно создать, экспортируя его с сервера. Сервер приложений использует соответствующий закрытый ключ для расшифровки этих сообщений. Этот закрытый ключ должен храниться только на серверах приложений.
Вы можете добавить сертификат проверки подлинности в Шлюз приложений с помощью команды az network application-gateway auth-cert create
из Azure CLI. В следующем примере показан синтаксис этой команды. Сертификат должен быть в формате CER (утверждение, доказательства и умозаключение).
az network application-gateway auth-cert create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <certificate name> \
--cert-file <path to authentication certificate>
Шлюз приложений предоставляет другие команды, которые можно использовать для перечисления сертификатов проверки подлинности и управления ими. Например:
- Команда
az network application-gateway auth-cert list
отображает установленные сертификаты. - Для изменения сертификата можно использовать команду
az network application-gateway auth-cert update
. - Команда
az network application-gateway auth-cert delete
удаляет сертификат.
Настройка сертификата в Шлюзе приложений версии 2
Шлюз приложений версии 2 имеет несколько разные требования к проверке подлинности. Вы предоставляете сертификат для центра сертификации, прошедшего проверку подлинности SSL-сертификата для серверов в серверном пуле. Этот сертификат добавляется в шлюз приложений в качестве доверенного корневого сертификата. Используйте команду az network application-gateway root-cert create
из Azure CLI.
az network application-gateway root-cert create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <certificate name> \
--cert-file <path to trusted CA certificate>
Если серверы используют самозаверяющий сертификат, добавьте этот сертификат в качестве доверенного корневого сертификата в Шлюзе приложений.
Параметры HTTP
Шлюз приложений использует правило , чтобы указать, как направлять сообщения, полученные на входящих портах, на серверы в серверном пуле. Если серверы используют SSL, необходимо настроить правило, чтобы указать следующее:
- Серверы ожидают трафик через протокол HTTPS.
- Какой сертификат используется для шифрования трафика и проверки подлинности подключения к серверу.
Эти сведения конфигурации определяются с помощью параметра HTTP.
Параметр HTTP можно определить с помощью команды az network application-gateway http-settings create
в Azure CLI. В следующем примере показан синтаксис для создания параметра, который направляет трафик с помощью протокола HTTPS к порту 443 на серверах в серверном пуле. Если вы используете шлюз приложений версии 1, параметр --auth-certs
— это имя сертификата проверки подлинности, добавленного в шлюз приложений ранее.
az network application-gateway http-settings create \
--resource-group <resource group name> \
--gateway-name <application gateway name> \
--name <HTTPS settings name> \
--port 443 \
--protocol Https \
--auth-certs <certificate name>
Если вы используете шлюз приложений версии 2, опустите параметр --auth-certs
. Шлюз приложений обращается к внутреннему серверу. Он проверяет подлинность сертификата, представленного сервером, для центров сертификации, указанных в списке доверенных корневых сертификатов. Если совпадения нет, Шлюз Приложений не подключится к внутреннему серверу и завершится ошибкой HTTP 502 (Ошибочный шлюз).