Сопоставление существующего личного домена с Azure Spring Apps
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья применима к: ✔️ Java ✔️ C#
Эта статья относится к: ✔️ Standard ✔️ Enterprise
Технология DNS (служба доменных имен) предназначена для хранения имен узлов в сети. В этой статье сопоставляется домен, например www.contoso.com
с помощью записи CNAME. Также мы защитим домен с помощью сертификата и покажем, как применить протокол TLS (или SSL).
Сертификаты используются для шифрования веб-трафика. Сертификаты TLS/SSL можно хранить в Azure Key Vault.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- (Необязательно) Azure CLI версии 2.45.0 или более поздней. Чтобы установить расширение Azure Spring Apps, выполните следующую команду:
az extension add --name spring
- Приложение, развернутое в Azure Spring Apps (см. Краткое руководство. Запуск существующего приложения в Azure Spring Apps с помощью портала Azure или используйте существующее приложение). Если приложение развернуто с помощью плана "Базовый", обязательно обновите его до стандартного плана.
- Доменное имя с доступом к реестру DNS для поставщика домена, например GoDaddy.
- Закрытый сертификат (т. е. ваш самозаверяющий сертификат) стороннего поставщика. Этот сертификат должен соответствовать домену.
- Развернутый экземпляр Azure Key Vault. Дополнительные сведения см. в статье Сведения об Azure Key Vault.
Рекомендации по закрытому каналу Key Vault
IP-адреса для управления Azure Spring Apps еще не являются частью доверенного службы Майкрософт Azure. Поэтому для загрузки сертификатов из Хранилища ключей, защищенных с помощью подключений к частной конечной точке, необходимо добавить следующие IP-адреса в брандмауэр Azure Key Vault:
20.99.204.111
20.201.9.97
20.74.97.5
52.235.25.35
20.194.10.0
20.59.204.46
104.214.186.86
52.153.221.222
52.160.137.39
20.39.142.56
20.199.190.222
20.79.64.6
20.211.128.96
52.149.104.144
20.197.121.209
40.119.175.77
20.108.108.22
102.133.143.38
52.226.244.150
20.84.171.169
20.93.48.108
20.75.4.46
20.78.29.213
20.106.86.34
20.193.151.132
Импорт сертификата
Подготовка файла сертификата в формате PFX (необязательно)
Azure Key Vault поддерживает импорт частного сертификата в формате PEM и PFX. Если peM-файл, полученный от поставщика сертификатов, не работает в разделе "Сохранить сертификат в Key Vault", выполните действия, описанные здесь, чтобы создать PFX для Azure Key Vault .
Объединение промежуточных сертификатов
Если цепочка сертификатов из центра сертификации содержит несколько сертификатов, их необходимо объединить по порядку.
Для этого откройте каждый сертификат, полученный в текстовом редакторе.
Создайте файл для объединенных сертификатов и присвойте ему имя mergedcertificate.crt. В текстовом редакторе скопируйте содержимое каждого сертификата в этот файл. Порядок сертификатов должен соответствовать порядку в цепочке сертификатов, начиная вашим сертификатом и заканчивая корневым сертификатом. Это должно выглядеть следующим образом:
-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----
Экспорт сертификата в PFX-файл
Экспортируйте объединенный TLS/SSL-сертификат с закрытым ключом, с помощью которого был создан запрос сертификата.
Если запрос сертификата был создан с помощью OpenSSL, то вы создали файл закрытого ключа. Чтобы экспортировать сертификат в PFX-файл, выполните следующую команду. Замените заполнители <private-key-file> и <merged-certificate-file> путями к закрытому ключу и объединенному файлу сертификатов.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
При появлении запроса определите пароль для экспорта. Используйте этот пароль при передаче СЕРТИФИКАТА TLS/SSL в Azure Key Vault позже.
Если вы создали запрос на сертификат с помощью IIS или Certreq.exe, установите сертификат на локальный компьютер, а затем экспортируйте его в PFX.
Сохранение сертификата в Key Vault
Для импорта сертификата требуется, чтобы на диске существовал файл в кодировке PEM или PFX, и у вас был доступ к закрытому ключу.
Чтобы отправить сертификат в хранилище ключей, выполните следующие действия.
Перейдите к экземпляру хранилища ключей.
В области навигации выберите сертификаты.
В меню сверху выберите элемент Создать или импортировать.
На странице "Создание сертификата" выберите "Импорт для метода создания сертификата" и укажите значение для имени сертификата.
В разделе Отправка файла сертификата найдите и выберите расположение сертификата.
В разделе "Пароль", если вы отправляете защищенный паролем файл сертификата, укажите этот пароль здесь. В противном случае оставьте поле пустым. После успешного импорта файла сертификата хранилище ключей удаляет этот пароль.
Нажмите кнопку создания.
Предоставление Azure Spring Apps доступа к хранилищу ключей
Перед импортом сертификата необходимо предоставить Azure Spring Apps доступ к хранилищу ключей.
Чтобы предоставить доступ с помощью портал Azure, выполните следующие действия.
Перейдите к экземпляру хранилища ключей.
В области навигации выберите политики доступа.
В верхнем меню выберите "Создать".
Введите сведения и нажмите кнопку "Добавить ", а затем создайте полицию доступа.
Разрешение секрета Разрешение сертификата Выбор субъекта Получить, перечислить Получить, перечислить Управление доменом Azure Spring Apps Примечание.
Если вы не найдете "Управление доменами Azure Spring Apps", найдите "Azure Spring Cloud Domain-Management".
Импорт сертификата в Azure Spring Apps
Чтобы импортировать сертификат, выполните следующие действия.
Перейдите к экземпляру Azure Spring Apps.
В области навигации выберите параметры TLS/SSL.
Выберите "Импорт сертификата хранилища ключей".
На странице "Выбор сертификата" на странице Azure выберите подписку, Key Vault и сертификат из раскрывающегося списка, а затем нажмите кнопку "Выбрать".
На открывшейся странице "Задать имя сертификата" введите имя сертификата, выберите "Включить автоматическую синхронизацию при необходимости" и нажмите кнопку "Применить". Дополнительные сведения см. в разделе сертификата автоматической синхронизации.
После успешного импорта сертификата он отображается в списке сертификатов закрытого ключа.
Внимание
Чтобы защитить личный домен с помощью этого сертификата, обязательно привязать сертификат к конкретному домену. Дополнительные сведения см. в разделе "Добавление привязки SSL".
Сертификат автоматической синхронизации
Сертификат, хранящийся в Azure Key Vault, иногда обновляется до истечения срока его действия. Аналогичным образом политики безопасности вашей организации для управления сертификатами могут потребовать, чтобы команда DevOps регулярно заменяла сертификаты новыми. После включения автоматической синхронизации сертификата Azure Spring Apps начинает синхронизировать хранилище ключей для новой версии регулярно — обычно каждые 24 часа. Если доступна новая версия, Azure Spring Apps импортирует его, а затем перезагрузит его для различных компонентов с помощью сертификата без каких-либо простоев. В следующем списке показаны затронутые компоненты и соответствующие сценарии:
- Приложение
- Личный домен
- Шлюз VMware Spring Cloud
- Личный домен
- Портал API для VMware Tanzu
- Личный домен
- Ускоритель приложений VMware Tanzu
- Подключение к репозиторию Git с самозаверяющим сертификатом.
- Служба конфигурации приложений для Tanzu
- Подключение к репозиторию Git с самозаверяющим сертификатом.
Когда Azure Spring Apps импортирует или перезагрузит сертификат, создается журнал действий. Чтобы просмотреть журналы действий, перейдите к экземпляру Azure Spring Apps в портал Azure и выберите журнал действий в области навигации.
Примечание.
Функция автоматической синхронизации сертификатов работает с частными сертификатами и общедоступными сертификатами, импортированными из Azure Key Vault. Эта функция недоступна для сертификатов содержимого, которые клиент отправляет.
Вы можете включить или отключить функцию автоматической синхронизации сертификатов при импорте сертификата из хранилища ключей в Azure Spring Apps. Дополнительные сведения см. в разделе "Импорт сертификата в Azure Spring Apps ".
Вы также можете включить или отключить эту функцию для сертификата, который уже импортирован в Azure Spring Apps.
Чтобы включить или отключить автоматическую синхронизацию импортированного сертификата, выполните следующие действия.
Добавление личного домена
Пользовательское DNS-имя можно сопоставить c Azure Spring Apps с помощью записи CNAME.
Примечание.
Запись A не поддерживается.
Создание записи CNAME
Перейдите к поставщику DNS и добавьте запись CNAME для сопоставления домена <service-name>.azuremicroservices.io
. <service-name>
Ниже приведено имя экземпляра Azure Spring Apps. Для этих целей поддерживаются подстановочные знаки в именах доменов и поддоменов.
После добавления CNAME страница записей DNS похожа на следующий пример:
Сопоставление личного домена с приложением службы Azure Spring Apps
Если у вас нет приложения в Azure Spring Apps, следуйте инструкциям из краткого руководства. Развертывание первого приложения в Azure Spring Apps.
Выполните следующие действия, чтобы привязать личный домен к приложению:
Перейдите на страницу приложения.
Выберите Личный домен.
Выберите " Добавить личный домен".
Введите полное доменное имя, для которого вы добавили запись CNAME, например
www.contoso.com
. Убедитесь, что для типа записи hostname задано значение CNAME .<service-name>.azuremicroservices.io
Выберите элемент Проверить, чтобы активировать кнопку Добавить.
Выберите Добавить.
У одного приложения может быть несколько доменов, но каждый домен может быть сопоставлен только с одним приложением. При успешном сопоставлении личного домена с приложением он отображается в таблице личного домена.
Примечание.
Метка Небезопасно для личного домена означает, что он еще не привязан к SSL-сертификату. Любой запрос HTTPS из браузера в личный домен получает сообщение об ошибке или предупреждении.
Добавление привязки SSL
Чтобы обновить личный домен приложения, выполните следующие действия.
В таблице личных доменов выберите Добавить SSL-привязку, как показано на предыдущем рисунке.
В поле Сертификат выберите или импортируйте сертификат.
Выберите Сохранить.
После успешного добавления привязки SSL состояние домена безопасно: работоспособно.
Принудительное использование HTTPS
По умолчанию любой пользователь по-прежнему может обращаться к приложению по протоколу HTTP, но вы можете перенаправить все HTTP-запросы на порт HTTPS.
На странице приложения в области навигации выберите личный домен. Затем задайте значение Yes
HTTPS Only.
По завершении операции перейдите по любому из URL-адресов HTTPS, которые указывают на ваше приложение. Обратите внимание, что URL-адреса HTTP теперь не работают.