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


Руководство. Настройка шлюза приложений с завершением TLS с помощью портала Azure

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

В этом руководстве описано, как:

  • Создание самозаверяющего сертификата
  • создание шлюза приложений с сертификатом;
  • Создание виртуальных машин, используемых в качестве внутренних серверов
  • Тестирование шлюза приложений

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.

Предпосылки

  • Подписка Azure

Создание самозаверяющего сертификата

В этом разделе описано, как создать самозаверяющий сертификат с помощью New-SelfSignedCertificate . Сертификат передается на портал Azure при создании прослушивателя для шлюза приложений.

На локальном компьютере откройте окно Windows PowerShell от имени администратора. Выполните следующую команду, чтобы создать сертификат:

New-SelfSignedCertificate `
  -certstorelocation cert:\localmachine\my `
  -dnsname www.contoso.com

Вы должны увидеть примерно такой ответ:

PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint                                Subject
----------                                -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630  CN=www.contoso.com

Используйте Export-PfxCertificate с отпечатком, возвращенным для экспорта PFX-файла из сертификата. Поддерживаемые алгоритмы PFX перечислены в функции PFXImportCertStore. Убедитесь, что пароль имеет длину 4 – 12 символов:

$pwd = ConvertTo-SecureString -String <your password> -Force -AsPlainText
Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

Вход в Azure

Войдите на портал Azure.

Создание Шлюза приложений

  1. В меню портала Azure выберите + Создать ресурс>Сеть>Шлюз приложений, или найдите Шлюз приложений в поисковой строке портала.

  2. Выберите Создать.

Вкладка "Основные сведения"

  1. На вкладке "Основные сведения" введите или выберите следующие значения:

    • Группа ресурсов: выберите myResourceGroupAG для группы ресурсов. Если она еще не существует, выберите Создать новую, чтобы создать её.

    • Имя шлюза приложений: введите myAppGateway для имени шлюза приложений.

      Снимок экрана: создание новых основных принципов шлюза приложений.

  2. В Azure для обмена между создаваемыми ресурсами необходима виртуальная сеть. Вы можете создать новую виртуальную сеть или использовать существующую. В этом примере вы можете создать виртуальную сеть одновременно со шлюзом приложений. Создание экземпляров шлюза приложений происходит в отдельных подсетях. В этом примере создаются две подсети: одна — для шлюза приложений, а вторая — для внутренних серверов.

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

    • Имя. Введите myVNet для имени виртуальной сети.

    • Имя подсети (подсеть шлюза приложений): сетка подсетей будет отображать подсеть с именем Default. Измените имя этой подсети на myAGSubnet.
      Подсеть шлюза приложений может содержать только шлюзы приложений. Другие ресурсы запрещены.

    • Имя подсети (подсеть внутреннего сервера): во второй строке сетки подсетей введите myBackendSubnet в столбце имени подсети.

    • Диапазон адресов (подсеть серверного сервера): во второй строке сетки подсетей введите диапазон адресов, который не перекрывается с диапазоном адресов myAGSubnet. Например, если диапазон адресов myAGSubnet равен 10.0.0.0/24, введите 10.0.1.0/24 для диапазона адресов myBackendSubnet.

    Выберите ОК, чтобы закрыть окно Создание виртуальной сети и сохранить настройки виртуальной сети.

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

  3. На вкладке "Основные сведения" примите значения по умолчанию для других параметров, а затем нажмите кнопку Next: Frontends.

Вкладка "Фронтенды"

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

    Примечание.

    Для SKU шлюза приложений версии 2 можно выбрать только общедоступную конфигурацию ВНЕШНЕГО IP-адреса. Частная фронтендная IP-конфигурация в настоящее время не включена для SKU v2.

  2. Выберите "Добавить новый " для общедоступного IP-адреса и введите myAGPublicIPAddress для имени общедоступного IP-адреса и нажмите кнопку "ОК".

    Скриншот создания фронтендов шлюза приложений.

  3. Выберите Далее: Бэкенды.

Вкладка "Серверные компоненты"

Серверный пул используется для перенаправления запросов на внутренние серверы, на которых обслуживается запрос. Серверные пулы могут состоять из сетевых адаптеров, масштабируемых наборов виртуальных машин, общедоступных IP-адресов, внутренних IP-адресов, полных доменных имен (FQDN) и мультитенантных серверов, таких как службы приложений Azure. В этом примере вы создадите пустой серверный пул со своим шлюзом приложений, а затем добавите в этот серверный пул целевые объекты.

  1. На вкладке Серверные компоненты выберите элемент Добавление серверного пула.

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

    • Имя: введите myBackendPool для имени внутреннего пула.
    • Добавьте внутренний пул без целевых объектов: выберите "Да ", чтобы создать внутренний пул без целевых объектов. После создания шлюза приложений вы добавите целевые объекты серверной части.
  3. В окне Добавление внутреннего пула выберите Добавить, чтобы сохранить конфигурацию внутреннего пула и вернуться на вкладку Серверные компоненты.

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

  4. На вкладке "Серверные части" нажмите кнопку "Далее: конфигурация".

Вкладка "Конфигурация"

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

  1. Выберите элемент Добавление правила маршрутизации в столбце Правила маршрутизации.

  2. В открывшемся окне Добавление правила маршрутизации введите myRoutingRule в поле Имя правила.

  3. Для правила маршрутизации требуется слушатель. На вкладке Прослушиватель в окне Добавление правила маршрутизации введите следующие значения для прослушивателя.

    • Имя прослушивателя: введите myListener для имени прослушивателя.
    • Внешний IP-адрес: выберите общедоступный IP-адрес, созданный для внешнего интерфейса.
    • Протокол: выбор HTTPS.
    • Порт: убедитесь, что для порта введено значение 443.

    В разделе "Параметры HTTPS":

    • Выберите сертификат — выберите " Отправить сертификат".

    • PFX-файл сертификата — перейдите к файлу c:\appgwcert.pfx, который вы создали ранее.

    • Имя сертификата — введите mycert1 для имени сертификата.

    • Пароль — введите пароль, используемый для создания сертификата.

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

    Снимок экрана: создание нового прослушивателя шлюза приложения.

  4. На вкладке Серверные целевые объекты выберите значение myBackendPool для параметра Серверный целевой объект.

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

    Снимок экрана: добавление параметра H T P на вкладке конфигурации создания шлюза приложений

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

    Снимок экрана: создание нового правила маршрутизации шлюза приложений.

  7. Выберите Далее: теги и щелкните Далее: просмотр и создание.

Просмотр и создание вкладки

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

Добавление серверных целевых объектов

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

Для этого сделайте следующее:

  1. Создайте две виртуальные машины (myVM и myVM2), которые будут использоваться в качестве внутренних серверов.
  2. Установите IIS на виртуальных машинах, чтобы проверить, что шлюз приложений был успешно создан.
  3. Добавьте серверные серверы в внутренний пул.

Создание виртуальной машины

  1. В меню портала Azure выберите пункт "Создать ресурс>вычислений>Windows Server 2016 Datacenter" или найдите Windows Server в поле поиска на портале и выберите Центр обработки данных Windows Server 2016.

  2. Выберите Создать.

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

  3. На вкладке Основы введите для следующих параметров виртуальной машины такие значения:

    • Группа ресурсов: выберите myResourceGroupAG для имени группы ресурсов.
    • Имя виртуальной машины: введите myVM для имени виртуальной машины.
    • Имя пользователя: введите имя пользователя администратора.
    • Пароль. Введите пароль для учетной записи администратора.
  4. Примите другие значения по умолчанию и нажмите кнопку Далее: Диски.

  5. Примите вкладку "Диски" по умолчанию и нажмите кнопку "Далее: Сеть".

  6. На вкладке Сети убедитесь, что для параметра Виртуальная сеть выбрано значение myVNet, а для параметра Подсеть — значение myBackendSubnet. Примите другие значения по умолчанию и нажмите кнопку "Далее: управление".

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

  7. На вкладке Управление для параметра Диагностика загрузки задайте значение Отключить. Примите остальные значения по умолчанию и выберите Review + create.

  8. На вкладке Review + create (Просмотр и создание) проверьте параметры, устраните ошибки проверки, а затем выберите Создать.

  9. Дождитесь завершения развертывания, прежде чем продолжить.

Установите IIS для тестирования

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

  1. Откройте Azure PowerShell. Для этого выберите Cloud Shell в верхней панели навигации портала Azure, а затем выберите PowerShell из раскрывающегося списка.

    Снимок экрана: установка настраиваемого расширения.

  2. Измените параметр расположения для среды, а затем выполните следующую команду, чтобы установить IIS на виртуальной машине:

           Set-AzVMExtension `
             -ResourceGroupName myResourceGroupAG `
             -ExtensionName IIS `
             -VMName myVM `
             -Publisher Microsoft.Compute `
             -ExtensionType CustomScriptExtension `
             -TypeHandlerVersion 1.4 `
             -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
             -Location <location>
    
  3. Создайте вторую виртуальную машину и установите IIS, следуя только что выполненным инструкциям. Используйте myVM2 как имя виртуальной машины, а также для параметра VMName командлета Set-AzVMExtension.

Добавление серверов во внутренние пулы

  1. Выберите Все ресурсы, а затем — myAppGateway.

  2. Выберите Серверные пулы в меню слева.

  3. Выберите myBackendPool.

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

  5. В разделе "Целевой" выберите сетевой интерфейс в myVM из раскрывающегося списка.

  6. Повторите, чтобы добавить сетевой интерфейс для myVM2.

    Снимок экрана: добавление серверных серверов.

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

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

Тестирование шлюза приложений

  1. Выберите Все ресурсы, а затем выберите myAGPublicIPAddress.

    Снимок экрана: поиск общедоступного IP-адреса шлюза приложений.

  2. В адресной строке вашего браузера введите https://<ip-адрес вашего шлюза приложений>.

    Чтобы принять предупреждение системы безопасности, если вы использовали самозаверяющий сертификат, выберите "Сведения " (или "Дополнительно " в Chrome) и перейдите на веб-страницу:

    Снимок экрана: предупреждение системы безопасности браузера.

    На экране отобразится защищенный веб-сайт IIS, как в показано следующем примере:

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

Очистка ресурсов

Если группа ресурсов и связанные с ней ресурсы вам больше не нужны, их можно удалить. Для этого выберите группу ресурсов и щелкните Удалить группу ресурсов.

Дальнейшие действия

Изучив это руководство, вы:

  • Создан самозаверяющий сертификат
  • Создание шлюза приложений с сертификатом

Чтобы узнать больше о поддержке TLS в шлюзе приложений, см. разделы сквозной протокол TLS в шлюзе приложений и политика TLS шлюза приложений.

Чтобы узнать, как создать и настроить шлюз приложений для размещения нескольких веб-сайтов с помощью портала Azure, перейдите к следующему руководству.