Добавить сертификат от Let's Encrypt®
Сертификат из Certificate Manager можно использовать только в указанных сервисах Yandex Cloud.
Добавить новый сертификат
-
В консоли управления
выберите каталог, в который будет добавлен сертификат. -
В списке сервисов выберите Certificate Manager.
-
Нажмите кнопку Добавить сертификат.
-
В открывшемся меню выберите Сертификат от Let's Encrypt.
-
В открывшемся окне в поле Имя введите имя сертификата.
-
(Опционально) В поле Описание введите описание сертификата.
-
В поле Домены введите список доменов, для которых нужно выпустить сертификат.
Имена доменов могут содержать маску, например
*.example.com. В этом случае при выборе типа проверки прав на домен необходимо будет выбратьDNS. Подробнее см. в разделе Проверка прав на домен. -
Выберите тип проверки прав на домен:
DNSилиHTTP. -
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды:
yc certificate-manager certificate request --help -
Выполните команду:
yc certificate-manager certificate request \ --name mymanagedcert \ --domains example.comГде:
--name— имя сертификата.--domains— домены сертификатов.
Результат:
id: fpq6gvvm6piu******** folder_id: b1g7gvsi89m3******** created_at: "2020-09-15T08:49:11.533771Z" ... - example.com status: VALIDATING updated_at: "2020-09-15T08:49:11.533771Z"
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле Terraform параметры ресурса, который необходимо создать:
resource "yandex_cm_certificate" "le-certificate" { name = "<имя_сертификата>" domains = ["<домен>"] managed { challenge_type = "<тип_проверки>" } }Где:
domains— список доменов, для которых нужно создать сертификат.challenge_type— тип проверки прав на домен, которую нужно пройти владельцу домена. Возможные значения:DNS_CNAME— необходимо создать DNS-запись в формате CNAME с указанным значением. Рекомендуемый способ для автоматического продления сертификата.DNS_TXT— необходимо создать DNS-запись в формате TXT с указанным значением.HTTP— необходимо поместить указанное значение в указанный URL.
Подробную информацию о параметрах ресурса
yandex_cm_certificateсм. в документации провайдера Terraform. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанном каталоге будет создан сертификат. Проверить появление сертификата и его настройки можно в консоли управления
yc certificate-manager certificate get <имя_сертификата>
Чтобы добавить сертификат, воспользуйтесь методом REST API requestNew для ресурса Certificate или вызовом gRPC API CertificateService/RequestNew.
В списке сертификатов появится новый сертификат со статусом Validating. Этот статус означает, что создан запрос на выпуск сертификата от Let's Encrypt®. Для обработки запроса подтвердите права на домены.
Примечание
Чтобы DNS-проверка прав на домен по записи CNAME прошла успешно, для поддомена _acme-challenge проверяемого доменного имени не должно быть других ресурсных записей, кроме CNAME. Например, для имени _acme-challenge.example.com. должна существовать только CNAME-запись и не должно быть TXT-записи.
Посмотреть статус выпуска сертификата
Проверить статус создания сертификата и возможные ошибки при его выпуске можно в консоли управления
-
Выберите сервис Certificate Manager.
-
Выберите сертификат в списке.
Напротив поля Validation будет указан текущий этап выпуска сертификата.
-
Чтобы посмотреть описание этапа и его результаты, нажмите Показать логи.
Подробнее об этапах выпуска сертификата см. в разделе Сертификат от Let's Encrypt.