Как начать работать с Certificate Manager
В этой инструкции вы добавите в Certificate Manager свой первый сертификат от Let's Encrypt и используете его для настройки доступа по HTTPS к статическому сайту, размещенному в Yandex Object Storage.
Подготовка к работе
Чтобы начать работать с Certificate Manager вам понадобится:
-
Каталог в Yandex Cloud. Если каталога еще нет, создайте новый каталог:
-
В консоли управления
в списке слева выберите нужное облако. -
Справа сверху нажмите кнопку
Создать каталог. -
Введите имя каталога. Требования к имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание каталога.
-
Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности. Также в этой сети будет создана группа безопасности по умолчанию, внутри которой весь сетевой трафик разрешен.
-
Нажмите кнопку Создать.
-
-
Домен не ниже третьего уровня, для которого будет выпущен сертификат от Let's Encrypt.
Примечание
Чтобы пройти процедуру проверки прав на домен, он должен находиться под вашим управлением.
-
Публичный бакет в Object Storage с точно таким же именем, что и домен. Если бакета еще нет, создайте его:
Консоль управления- В консоли управления
выберите каталог, в котором хотите создать бакет. - Выберите сервис Object Storage.
- Нажмите кнопку Создать бакет.
- Введите имя бакета в точности совпадающее с именем домена.
- Выберите тип доступа
Публичный
. - Выберите класс хранилища по умолчанию.
- Нажмите кнопку Создать бакет для завершения операции.
- В консоли управления
-
Настройте хостинг в бакете:
Консоль управления- В консоли управления
выберите сервис Object Storage. - На вкладке Бакеты нажмите на бакет с именем домена.
- На панели слева выберите Настройки.
- Откройте вкладку Веб-сайт.
- Выберите
Хостинг
. и укажите главную страницу сайта. - Нажмите кнопку Сохранить для завершения операции.
- В консоли управления
-
Настройте алиас для бакета у своего провайдера DNS или на собственном DNS-сервере.
Например, для домена
www.example.com
необходимо добавить запись:www.example.com CNAME www.example.com.website.yandexcloud.net
-
Установите и настройте AWS CLI по инструкции.
Создание запроса на получение сертификата от Let's Encrypt
- Перейдите в консоль управления
. - Выберите сервис Certificate Manager.
- Нажмите кнопку Добавить сертификат.
- В открывшемся меню выберите Сертификат от Let's Encrypt.
- В открывшемся окне задайте имя сертификата.
- (Опционально) Добавьте описание сертификату.
- В поле Домены укажите домены, для которых нужно выпустить сертификат.
- Выберите тип проверки прав на домен
HTTP
. - Нажмите кнопку Создать.
Прохождение проверки прав на домен
Создание файла для проверки
- В консоли управления
выберите сервис Certificate Manager. - Выберите в списке нужный сертификат со статусом
Validating
и нажмите на него. - В блоке Проверка прав на домены:
- Скопируйте ссылку из поля Ссылка для размещения файла:
- Часть ссылки вида
http://example.com/.well-known/acme-challenge/
— это путь для размещения файла. - Вторая часть ссылки
rG1Mm1bJ...
— это имя файла, которое вам необходимо использовать.
- Часть ссылки вида
- Скопируйте поле Содержимое в файл.
- Скопируйте ссылку из поля Ссылка для размещения файла:
Загрузка файла и проверка
- В консоли управления
выберите сервис Object Storage. - На вкладке Бакеты нажмите на бакет с именем домена.
- Справа сверху нажмите Создать папку и создайте папку
.well-known
. - В
.well-known
создайте папкуacme-challenge
. - В
acme-challenge
нажмите Загрузить. - В открывшемся окне выберите файл с записью и нажмите Открыть.
- Нажмите кнопку Загрузить.
- Дождитесь изменения статуса сертификата на
Issued
. - Перейдите в папку
acme-challenge
. - Нажмите
справа от файла и выберите Удалить. - Подтвердите удаление.
-
Загрузите файл в бакет так, чтобы он располагался в папке
.well-known/acme-challenge
:aws --endpoint-url=https://storage.yandexcloud.net \ s3 cp <имя_файла> s3://<имя_бакета>/.well-known/acme-challenge/<имя_файла>
-
Дождитесь изменения статуса сертификата на
Issued
. -
Удалите созданный файл из бакета:
aws --endpoint-url=https://storage.yandexcloud.net \ s3 rm s3://<имя_бакета>/.well-known/acme-challenge/<имя_файла>
Важно
Обновление сертификата требует от вас участия. Внимательно следите за временем жизни созданных сертификатов, чтобы своевременно обновлять их. Подробнее в разделе Обновление сертификата.
Настройка доступа по HTTPS к статическому сайту
- Войдите в консоль управления
. - Выберите сервис Object Storage.
- На вкладке Бакеты нажмите на бакет с именем домена.
- На панели слева выберите Безопасность.
- Перейдите на вкладку HTTPS.
- Справа вверху нажмите Настроить.
- В поле Источник выберите
Certificate Manager
. - В поле Сертификат выберите сертификат в появившемся списке.
- Нажмите кнопку Сохранить.