Публикация API на собственном домене с привязкой TLS‑сертификата в Certificate Manager
Обеспечить публикацию облачных микросервисов под корпоративным доменным именем компании с криптографической защитой передаваемого трафика
Задача
Необходимо реализовать безопасное хранение закрытых ключей и сертификатов в облачном сервисе Certificate Manager с автоматической терминацией TLS-сессий на шлюзе Evolution API Gateway без модификации целевых контейнеров
Решение
Администратор генерирует закрытый ключ RSA и соответствующий сертификат X.509, содержащий расширение Subject Alternative Name (SAN) для домена api.cloud-demo.ru

Бизнес-цель
Обеспечить публикацию облачных микросервисов под корпоративным доменным именем компании с криптографической защитой передаваемого трафика. Необходимо реализовать безопасное хранение закрытых ключей и сертификатов в облачном сервисе Certificate Manager с автоматической терминацией TLS-сессий на шлюзе Evolution API Gateway без модификации целевых контейнеров.
Архитектура решения
Администратор генерирует закрытый ключ RSA и соответствующий сертификат X.509, содержащий расширение Subject Alternative Name (SAN) для домена api.cloud-demo.ru. Сертификат и закрытый ключ загружаются в сервис Cloud.ru Certificate Manager. В настройках Evolution API Gateway регистрируется пользовательский домен с привязкой сохраненного сертификата. Шлюз перехватывает защищенные TLS-запросы по системному адресу, расшифровывает их с проверкой SNI и направляет на целевой сервис Container Apps.
Компонент цепочки | Выполняемая функция | Зона ответственности |
OpenSSL CLI | Генерация пары ключей и самоподписанного сертификата | Рабочее место инженера |
Certificate Manager | Защищенное хранение сертификатов и метаданных | Сервис Cloud.ru |
API Gateway Custom Domain | Терминация TLS-сессий, проверка SNI, обратное проксирование | Сервис Cloud.ru |
Target Container | Обработка прикладной логики без накладных расходов на TLS | Сервис Cloud.ru |
Необходимые ресурсы
Пакет openssl в командной строке для создания тестового сертификата.
Доступ к сервису Cloud.ru Certificate Manager.
Сервис Evolution API Gateway.
Контейнер в сервисе Evolution Container Apps.
Пошаговое выполнение
Шаг 1. Генерация криптографических материалов
1. Откройте локальный терминал и создайте закрытый ключ и самоподписанный TLS-сертификат для демонстрационного домена api.cloud-demo.ru:
2. Убедитесь в формировании файлов custom-domain.key (приватный ключ) и custom-domain.crt (сертификат открытого ключа).
Шаг 2. Импорт сертификата в Cloud.ru Certificate Manager
1. В консоли управления платформы перейдите в раздел Certificate Manager.
2. Нажмите кнопку Добавить сертификат и выберите вариант Импортировать сертификат.
3. Заполните поля формы:
Название сертификата: cert-custom-domain-demo.
Поле Сертификат (Certificate CRT): скопируйте текстовое содержимое файла custom-domain.crt.
Поле Закрытый ключ (Private Key): скопируйте текстовое содержимое файла custom-domain.key.
4. Нажмите кнопку Загрузить. Убедитесь, что сертификат отображается в реестре со статусом «Действителен».
Шаг 3. Регистрация собственного домена в Evolution API Gateway
1. В консоли API Gateway откройте шлюз или создайте новый с именем gw-domain-demo.
2. Перейдите во вкладку Пользовательские домены (Custom Domains) и нажмите Добавить домен.
3. Укажите параметры привязки:
Пользовательский домен: api.cloud-demo.ru.
Сертификат: выберите из выпадающего списка загруженный объект cert-custom-domain-demo.
4. Сохраните конфигурацию. Система зафиксирует связь шлюза с доменным именем и отобразит системный сетевой адрес шлюза (например, gw-shared-public.apigw.cloud.ru).
5. Во вкладке Маршруты свяжите путь /welcome с бэкендом любого активного приложения Container Apps.
Проверка корректности работы
В условиях демонстрационного стенда, когда внешний DNS-сервер не делегирован на адрес шлюза, валидация выполняется через сопоставление сетевого хоста и IP-адреса флагом --resolve утилиты curl.
Выполните сетевой вызов с проверкой сертификата по доменному имени:
Ожидаемый ответ:
2. Проверка параметров установленного криптографического соединения через диагностическую утилиту OpenSSL:
В выводе фиксируются параметры созданного сертификата: subject=CN = api.cloud-demo.ru, O = CloudRuTechDemo issuer=CN = api.cloud-demo.ru, O = CloudRuTechDemo notBefore=... notAfter=... Данная проверка подтверждает корректную обработку Server Name Indication (SNI) на шлюзе и успешную терминацию пользовательского шифрованного соединения.