Метод получения сертификата подстановочного знака в ESA в режиме CNAME
Categories:
Доменное имя размещено на Alibaba Cloud DNS или стороннем DNS, невозможно перенести NS домена, но нужен подстановочный сертификат. Alibaba Cloud ESA предоставляет 10 сертификатов, что, очевидно, недостаточно.
Здесь я делюсь методом получения сертификата подстановочного знака, в конце объясню принцип.
Необходимо выполнить операции на двух интерфейсах:
- ESA
- Cloud Resolution (или сторонний DNS)
Шаги операции
- ESA: DNS -> Настройки: Переключиться в режим NS, просто подтвердите, дополнительные действия не требуются.
- ESA: Запрос бесплатного сертификата на границе, запросите только
*.example.com, используя собственное доменное имя - ESA: Откройте раскрывающийся список сертификата в процессе запроса, получите TXT запись, имя хоста:
_acme-challenge.example.com, значение записи:-PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ - Cloud Resolution: Создайте TXT запись, введите имя хоста и значение записи из предыдущего шага
- Дождитесь получения сертификата подстановочного знака, если в течение 10 минут сертификат не получен, значит произошла ошибка, проверьте самостоятельно.
- ESA: DNS -> Настройки: Переключиться в режим CNAME, просто подтвердите, дополнительные действия не требуются.
Принцип
Бесплатные сертификаты поступают из letsencrypt, у него есть два метода аутентификации:
- HTTP-01 Challenge: сервер проверки Let’s Encrypt будет обращаться по HTTP к определённому файлу на вашем сервере (по пути .well-known/acme-challenge/), чтобы подтвердить ваш контроль над доменом.
- 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