Метод получения сертификата подстановочного знака в ESA в режиме CNAME

Доменное имя размещено на Alibaba Cloud DNS или стороннем DNS, невозможно перенести NS домена, но нужен подстановочный сертификат. Alibaba Cloud ESA предоставляет 10 сертификатов, что, очевидно, недостаточно.

Здесь я делюсь методом получения сертификата подстановочного знака, в конце объясню принцип.

Необходимо выполнить операции на двух интерфейсах:

  1. ESA
  2. Cloud Resolution (или сторонний DNS)

Шаги операции

  1. ESA: DNS -> Настройки: Переключиться в режим NS, просто подтвердите, дополнительные действия не требуются.
  2. ESA: Запрос бесплатного сертификата на границе, запросите только *.example.com, используя собственное доменное имя
  3. ESA: Откройте раскрывающийся список сертификата в процессе запроса, получите TXT запись, имя хоста: _acme-challenge.example.com, значение записи: -PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ
  4. Cloud Resolution: Создайте TXT запись, введите имя хоста и значение записи из предыдущего шага
  5. Дождитесь получения сертификата подстановочного знака, если в течение 10 минут сертификат не получен, значит произошла ошибка, проверьте самостоятельно.
  6. ESA: DNS -> Настройки: Переключиться в режим CNAME, просто подтвердите, дополнительные действия не требуются.

Принцип

Бесплатные сертификаты поступают из letsencrypt, у него есть два метода аутентификации:

  1. HTTP-01 Challenge: сервер проверки Let’s Encrypt будет обращаться по HTTP к определённому файлу на вашем сервере (по пути .well-known/acme-challenge/), чтобы подтвердить ваш контроль над доменом.
  2. DNS-01 Challenge: этот метод требует добавить TXT запись в DNS записи вашего домена. Добавив определённую TXT запись в DNS, вы можете доказать, что обладаете контролем над доменом.

Сертификаты подстановочного знака могут быть получены только с помощью DNS-01 Challenge, то есть необходимо настроить DNS запись. Поэтому ESA требует размещения домена на платформе ESA для запроса сертификата подстановочного знака. В операционных шагах “ESA: DNS -> Настройки: Переключиться в режим NS” - это вывод, полученный при анализе возвращаемой информации от интерфейса ESA ApplyCertificate, этот шаг не оказывает никакого реального влияния, служит лишь для обхода проверки Alibaba Cloud.

Ключевой шаг - запросить сертификат у letscrypt и записать предопределённую TXT запись на DNS сервер домена, независимо от того, является ли этот сервер от Cloud Resolution или ESA, можно доказать, что домен принадлежит вам.

Заключение

ESA и Cloud Resolution принадлежат Alibaba Cloud, но не могут обмениваться данными. ESA явно обладает возможностью проверки принадлежности домена к аккаунту, для получения сертификата подстановочного знака достаточно добавить одну запись разрешения в Cloud Resolution и предоставить авторизацию, но этого не сделано. Опыт использования можно улучшить.

Сертификат, полученный этим методом, возможно, не будет обновляться. Можно использовать другие способы для синхронизации сертификата в ESA: https://api.aliyun.com/api/ESA/2024-09-10/SetCertificate