Модератор: UncleFather
-
UncleFather
- Site Admin
- Сообщения: 1569
- Зарегистрирован: 17 авг 2004 16:20, Вт
- Контактная информация:
Получение/обновление сертификата Let’s Encrypt на хостинге Reg.ru
Задача:
Получение/обновление сертификата Let’s Encrypt на хостинге Reg.ru
Решение:
На портале есть официальная инструкция, поэтому эта статья по сути для ускорения поиска, т.к. на reg.ru не очень удобно ее искать.
-
Открываем интерфейс ispmanager, выбираем в левом меню SSL-сертификаты -> сверху добавить сертификат -> в ниспадающем меню Let’s Encrypt:
-
-
Заполняем поля требуемыми данными и нажимаем кнопку Выпустить:
-
-
Новый сертификат появится в списке SSL-сертификатов как самоподписанный, сроком на 1 год. В статусе будет видно, что ожидается ответ от Let’s Encrypt.
На этом этапе в панели управления записями DNS ispmanager создаются две текстовые записи _acme-challenge. Они необходимы для того, чтобы сервис Let’s Encrypt мог подтвердить ваше владение этим доменом:
На хостинге Reg.ru реализовано две панели управления DNS записями, в зависимости от используемых зоной DNS-серверов. О том какую зону нужно использовать, можно прочитать в статье В чем разница между DNS-серверами ns1.reg.ru/ ns2.reg.ru и ns1.hosting.reg.ru/ ns2.hosting.reg.ru.
Если зона хранится на серверах ns1.hosting.reg.ru и ns2.hosting.reg.ru, то больше для получения сертификата ничего делать не нужно.
А если на серверах ns1.reg.ru и ns2.reg.ru, то необходимо скопировать обе записи _acme-challenge на эти серверы. Для этого переходим к следующему шагу.
-
-
Открываем личный кабинет reg.ru, переходим в раздел DNS-серверы и управление зоной, последовательно создаем две текстовые записи _acme-challenge и копируем в них значения из панели управления записями DNS ispmanager, которые были созданы автоматически на третьем шаге:
-
Источник
Alexander A. Manaeff©
Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь
REG.RU и Let’s Encrypt
https://habr.com/ru/articles/874790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=874790Множество людей покупают доменные имена у регистраторов и создают собственные сайты. Разумеется, им необходимы SSL‑сертификаты. Однако покупать доверенные сертификаты могут не все и, зачастую, используют бесплатные Let’s Encrypt SSL‑сертификаты, время жизни которых составляет 90 суток.
Для автоматического обновления SSL‑сертификатов Let’s Encrypt обычно используется API управления DNS‑зоной, который предоставляет регистратор доменных имен.
Рассмотрим один из возможных способов автоматического обновления сертификатов на примере регистратора REG.RU и его API управления DNS‑зонами.
Авторизация
Для того чтобы не указывать в скриптах пароли администратора DNS‑зоны в открытом виде, прежде всего, необходимо создать ключ. Сделать это можно с помощью openssl:
openssl req -new -x509 -nodes -sha1 -days 365 -newkey rsa:2048 -keyout my.key -out my.crt
Ключ будет действителен в течение года.
Для того чтобы не вводить при создании нового ключа все данные вручную, можно добавить еще несколько параметров, например, имя организации и e‑mail:
openssl req -new -x509 -nodes -sha1 -days 365 -newkey rsa:2048 -keyout my.key -out my.crt \
-subj "/C=RU/ST=St.-Petersburg/L=St.-Petersburg/O=my org, Inc/OU=RcL/CN=kx-home.su/emailAddress=myname@mail.ru"
Здесь необходимо заменить значения «my org» и «myname@mail.ru» на ваши собственные.
Для того чтобы загрузить полученный ключ в личном кабинете, необходимо выбрать пункт меню ‘Настройки‘:
далее пункт ‘Настройки API‘:
затем пункт ‘Добавить SSL‘:
и наконец скопировать текст файла my.crt в поле над кнопкой «Добавить»:
Теперь, для аутентификации администратора DNS‑зоны, в качестве имени пользователя вы можете использовать e‑mail (который указали при создании личного кабинета на сайте), а вместо пароля в своих скриптах, – файлы my.key и my.crt.
Автоматизация
Допустим вы имеете домен example.org и поддомен cloud.example.org. Создадим рабочий каталог следующего содержания:
/root/cron.letsencrypt
├── renew-certificates
└── scripts
├── _dns.example.org-auth.php
├── _dns.example.org-cleanup.php
├── cert
│ ├── my.crt
│ └── my.key
├── cloud.example.org-renew
└── example.org-renew
В каталоге /root/cron.letsencrypt/scripts/cert/ находятся, созданные нами ранее, сертификат и ключ. Скрипты _dns.example.org‑auth.php и _dns.example.org‑cleanup.php осуществляют создание TXT записи _acme‑challenge.XXXXXXXXXX в DNS‑зоне и ее удаление после обновления SSL-сертификата Let’s Encrypt. Основной скрипт renew‑certificates вызывает поочередно скрипты example.org‑renew и cloud.example.org‑renew, которые, в свою очередь, вызывают утилиту certbot.
Утилита certbot
Скрипт example.org‑renew, для вызова утилиты certbot, выглядит следующим образом:
#!/bin/shcwd() {
pushd `dirname $0` > /dev/nill
CWD=`pwd -P`
popd > /dev/null
echo "$CWD"
}
CWD=`cwd`
certbot certonly -n \
--manual \
--preferred-challenges=dns \
--manual-auth-hook $CWD/_dns.example.org-auth.php \
--manual-cleanup-hook $CWD/_dns.example.org-cleanup.php -d example.org
Здесь параметр -d задает имя домена, для которого надо получить SSL‑сертификат. Разумеется, в файле cloud.example.org‑renew будет указан поддомен cloud.example.org.
Параметры ‑‑manual‑auth‑hook и ‑‑manual‑cleanup‑hook указывают на способ создания DNS‑записи _acme‑challenge.XXXXXXXXXX и ее последующего удаления.
Создание TXT записи
Рассмотрим процесс создания TXT записи (_dns.example.org‑auth.php):
#!/usr/bin/php
<?php$certbot_domain = getenv( 'CERTBOT_DOMAIN' ); /* parameter CERTBOT_DOMAIN: radix-linux.su, post.radix-linux.su, ... */
$certbot_validation = getenv( 'CERTBOT_VALIDATION' ); /* parameter CERTBOT_VALIDATION */
preg_match( '/^(?:(.+)\.)?([^.]+\.[^.]+)$/', $certbot_domain, $matches );
$sub_domain = $matches[1];
$zone = $matches[2];
if( !$zone ) {
exit( 1 );
}
$record_name = '_acme-challenge.';
if( $sub_domain ) {
$record_name = $record_name . $sub_domain . '.';
}
$record_name = $record_name . $zone . '.';
$login = 'myname@mail.ru';
$params =
[
'username' => $login,
'domain_name' => $zone, /* main domain */
'subdomain' => $record_name, /* Name of TXT record */
'text' => $certbot_validation,
'input_format' => 'plain',
];
$sig_params = $params;
sort( $sig_params );
$pkeyid = openssl_pkey_get_private( "file://" . getcwd() . "/cert/kx.key" );
openssl_sign( implode(';', $sig_params), $sig, $pkeyid );
$params['sig'] = base64_encode( $sig );
$url = 'https://api.reg.ru/api/regru2/zone/add_txt';
for( $i = 0; $i < 7; $i++ ) {
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, $url );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_SSLCERT, getcwd() . "/cert/kx.crt" );
curl_setopt( $curl, CURLOPT_SSLKEY, getcwd() . "/cert/kx.key" );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 1 );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $params );
$result = curl_exec( $curl );
curl_close( $curl );
$result = json_decode( urldecode($result), true );
$status = $result["result"];
if( strcmp($status, 'success') == 0 ) {
break;
}
sleep( 180 ); /* 3 minute */
}
if( strcmp($status, 'success') !== 0 ) {
exit( 1 );
}
sleep( 1500 ); /* 25 minutes seems to enough */
exit( 0 );
?>
Утилита certbot передает параметры посредством переменных окружения CERTBOT_DOMAIN и CERTBOT_VALIDATION. Первая из них задает имя домена, а вторая, – уникальный ключ.
Поскольку данный скрипт должен работать одинаково для всех наших доменов и поддоменов, мы должны разобрать доменное имя, задаваемое с помощью опции -d утилиты certbot, на составляющие. Далее сформировать параметры вызова curl чтобы воспользоваться API REG.RU, сделать POST‑запрос и получить вразумительный ответ.
Здесь, по сути, все ясно. Более подробно все наши действия можно разобрать по документации.
Основным моментом, на который следует обратить внимание, является цикл наших попыток получить правильный ответ от сервера REG.RU и задержка, которая необходима для того, чтобы утилита certbot успела прочитать DNS‑запись и, тем самым, идентифицировать домен как вашу собственность.
Итак, мы делаем 7 попыток с интервалом 3 минуты на случай, если сайт REG.RU будет тормозить. В случае успешного создания _acme‑challenge.XXXXXXXXXX записи, мы ждем еще 25 минут, так как выгрузка зоны и ее распространение требует времени.
Цифру 25 минут мы подобрали с запасом, проведя несколько экспериментов. Вы можете скорректировать время ожидания так, как посчитаете оптимальным для себя.
Удаление TXT записи
После обновления вашего Let’s Encrypt сертификата, TXT запись _acme‑challenge.XXXXXXXXXX надо удалить и снова выгрузить зону на всеобщее обозрение. Этим занимается скрипт _dns.example.org‑cleanup.php:
#!/usr/bin/php
<?php$certbot_domain = getenv( 'CERTBOT_DOMAIN' ); /* parameter CERTBOT_DOMAIN: radix-linux.su, post.radix-linux.su, ... */
preg_match( '/^(?:(.+)\.)?([^.]+\.[^.]+)$/', $certbot_domain, $matches );
$sub_domain = $matches[1];
$zone = $matches[2];
if( !$zone ) {
exit( 1 );
}
$record_name = '_acme-challenge.';
if( $sub_domain ) {
$record_name = $record_name . $sub_domain . '.';
}
$record_name = $record_name . $zone . '.';
$login = 'myname@mail.ru';
$params =
[
'username' => $login,
'domain_name' => $zone, /* main domain */
'subdomain' => $record_name, /* Name of TXT record */
'record_type' => 'TXT',
'input_format' => 'plain',
];
$sig_params = $params;
sort( $sig_params );
$pkeyid = openssl_pkey_get_private( "file://" . getcwd() . "/cert/kx.key" );
openssl_sign( implode(';', $sig_params), $sig, $pkeyid );
$params['sig'] = base64_encode( $sig );
$url = 'https://api.reg.ru/api/regru2/zone/remove_record';
for( $i = 0; $i < 3; $i++ ) {
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, $url );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_SSLCERT, getcwd() . "/cert/kx.crt");
curl_setopt( $curl, CURLOPT_SSLKEY, getcwd() . "/cert/kx.key");
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 1 );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $params );
$result = curl_exec( $curl );
curl_close( $curl );
$result = json_decode( urldecode($result), true );
$status = $result["result"];
if( strcmp($status, 'success') == 0 ) {
break;
}
sleep( 180 ); /* 3 minute */
}
if( strcmp($status, 'success') !== 0 ) {
exit( 1 );
}
exit( 0 );
?>
Вот, собственно, и всё.
Обновление SSL‑сертификатов
Основной скрипт renew‑certificates может выглядеть следующим образом:
#!/bin/shcwd() {
pushd `dirname $0` > /dev/null
CWD=`pwd -P`
popd > /dev/null
echo "$CWD"
}
CWD=`cwd`
export PYTHONWARNINGS=ignore
LOGFILE=/var/log/renew-example.org-certificates.log
#
# Renew for DNS challenge domains:
#
( cd $CWD/scripts/ ; ./example.org-renew 1> /dev/null 2> /dev/null )
( cd $CWD/scripts/ ; ./cloud.example.org-renew 1> /dev/null 2> /dev/null )
/etc/rc.d/rc.nginx reload 1> /dev/null
if [ "$?" == "0" ]; then
echo "[`date +'%Y-%m-%d %H:%M:%S'`] Let's Encrypt certificates: RENEWED" >> ${LOGFILE}
else
echo "[`date +'%Y-%m-%d %H:%M:%S'`] Let's Encrypt certificates: renew FAILED" >> ${LOGFILE}
fi
Его задача состоит в том, чтобы последовательно обновить Let’s Encrypt сертификаты, заставить NGINX, не останавливая свою работу, перечитать конфигурацию и оставить следы наших действий в LOG‑файле.
Периодическое выполнение процедуры обновления сертификатов /root/cron.letsencrypt/renew‑certificates можно поручить cron‑демону или написать systemd‑таймер.
Enjoy.
Недавно решал данную проблем. Хостинг nic.ru не очень клиентоориентирован и хочет чрезмерно много за обычный ssl сертификат. А хочется подешевле и бесплатно — Let’s Encrypt. К слову, хостинг reg.ru тоже не предполагает автоматом установки сертификата SSL для домена. Решение подойдет и ему и любому хостингу.
Актуальность статьи на март 2022 года.
Итак, сначала был создан ssh пользователь. получилось поставить CerBot, но на этапе выпуска сертификата потребовались root права, которые как известно получить на обычном шаред хостинге нереально, либо долго, т.к. с саппортом спорить там бесполезно.
Было решено искать другое решение. и нашлось.
NB! Сразу скажу, что для установки ssl сертификата на сайт, хостинг требует выделенный IP-адрес (у нас он был).
UPD 2022:
Дабы не зависеть от санкций и хотелок тех или иных сайтов пошел искать решение на сайте Let’s Encrypt. Благо теперь там куча вариаций по генерации.
Решение на php с автоматическим продлением, хотя установка на хостинге все равно делается руками.
Все что нужно — это доступ к файлам на сервере (FTP или через встроенный файл-менеджер)
1. Итак заходим на сайт https://freessl.tech/
2. Скачиваем архив (скачивание происходит как заказ в интернет-магазине). После оформления получаем ссылку на скачивание.
3. Далее распаковываем архив у себя на компе в папке будет еще 1 папка. можно закинуть ее в корень нашего сайта и там переименовать как угодно. Я переименовал папку в «mysert».
После переименования вводим в адресной строке браузера «ваш сайт/mysert». Если все сделано правильно, видим окно интерфейса с генерацией сертификата.
4. Наверху есть кнопка для быстрой генерации ключей. Если вы хотите , чтобы ключи генерировались автоматом, то нужно создать базу данных и ввести данные ниже в окне (на сайте есть мануал, хотя смысл от него, если все равно кличи надо руками прописывать на хостинге). Нажимаем кнопку, далее страница ввода e-mail (обязательно) и соглашаемся с условиями. После жмем кнопку и ждем несколько секунд.
5. После генерации получаем окно с результатами, наши главные строки со ссылками на папку, где лежать сертификаты.
6. Далее идем в паку, в которой сохранены сертификаты на хостинге, через total или файл-менеджер хостинга.
Мы выпустили сертификат SSL, поздравляю!
Нужно скачать 3 файла: certifacate (наш сертификат), private (наш приватный ключ), cabundle (промежуточный сертификат).
7. Теперь надо добавить сертификат в панель управления хостингом nic.ru:
Заходим под своим логином. Выбираем управление услугами: хостинг, почта, конструктор сайтов — сайты (выбираете нужный сайт и жмете на его название) — безопасность — жмете галку ssl сертификат и жмете кнопку установить.
После этого панель предложит загрузить файлы сертификата.
8. Грузите файлы сертификата: в окно сертификат — файл certificate- в окно приватный ключ файл с буквами key на конце, в окно с промежуточным сертификатом грузим -cabundle.
9. Сохраняем и радуемся! Перезагружаем сервер чтобы обновления вступили в силу.
P.S. Инструкция для добавления на nic.ru подходит и для других хостингов, хотя все уже сами предлагают автоматом сертификаты при размещении сайтов на их хосте.
Если сайт находится в режиме ручного управления, а не автоматического (по умолчанию), то переводим сайт в режим автоматического управления (предварительно сохранив файлы конфигурации сайта apache в другую папку (он будет перезаписан) и добавляем по инструкции. Потом файл с конфигурацией добавляем обратно перезаписью.
Вот так.
UPD 2021:
Появился сайт https://freessl.org/ обещают безлимитные сертификаты по 90 дней. сделал 1 посмотрим что дальше. Схема идентичная для всех. Сервис кривой и возможно не поддерживается более, валидация я пройти не смог.
UPD: с середины мая 2020 года они удалили все учётки, и теперь надо заново регистрироваться. С марта 2022 сервис прекратил выдачу бесплатных сертификатов для доменов зоны RU в связи с санкциями (политика и здесь). Теперь сервис стал партнером ZEROSSL и вроде как бесплатный, но с ограничениями в 3 домена. Теперь на free-аккаунте Вы можете иметь 3 домена и продлевать их каждые 90 дней. Сверху- плати. Я просто завел 2 аккаунта, т.к. у меня больше 3 доменов. В остальном немного изменился интерфейс, но порядок действий тот же!
наткнулся на сайт https://freessl.space/ дает без регистрации на 90 дней сертификаты. установил на 2 сайта. все ок. проверим что дальше будет. Сайт не открывается в августе 2021 года. жаль много сертов сделал для своих сайтов.
Поделиться ссылкой:
Время на прочтение3 мин
Количество просмотров8.6K
У большинства популярных DNS-провайдеров есть API, с помощью которого можно управлять записями. Это позволяет автоматизировать заказ и продление SSL-сертификатов через DNS01.
В Kubernetes для работы с сертификатами используется cert-manager. Чтобы заказать сертификат в кластере, нужно объявить ресурс центра сертификации — например, ClusterIssuer, который используются для подписи CSR (запросов на выпуск сертификата). К сожалению, не для каждого DNS-провайдера существует CusterIssuer. Однако cert-manager позволяет написать свою реализацию. У нас такая потребность возникла в проекте одного из клиентов, который пользовался услугами DNS-провайдера REG.RU.
Изначально мы вручную заказывали сертификаты через acme.sh, складывали их в репозиторий, а затем деплоили в кластер. Нам это надоело, и мы решили автоматизировать процесс. Так появился инструмент ClusterIssuer для REG.RU. Рады представить его Open Source-сообществу!
Инструкция по использованию
Для начала убедитесь, что в кластере установлен cert-manager. Если его нет, установите согласно инструкции:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
Затем клонируйте репозиторий с ClusterIssuer:
git clone https://github.com/flant/cert-manager-webhook-regru.git
Отредактируйте в нём файл values.yaml, заполнив поля zone, image, user и password. Например:
issuer:
zone: my-domain-test.ru
image: ghcr.io/flant/cluster-issuer-regru:1.0.0
user: my_user@example.com
password: my_password
где user и password — данные для аутентификации в системе REG.RU.
Установите вебхук. Перейдите в каталог репозитория:
cd cert-manager-webhook-regru
Выполните команду:
helm install -n cert-manager regru-webhook ./helm
Создайте файл ClusterIssuer.yaml с таким содержимым (но не забудьте заменить e-mail на свой!):
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: regru-dns
spec:
acme:
# Email address used for ACME registration. REPLACE THIS WITH YOUR EMAIL!
email: mail@example.com
# The ACME server URL
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: cert-manager-letsencrypt-private-key
solvers:
- dns01:
webhook:
config:
regruPasswordSecretRef:
name: regru-password
key: REGRU_PASSWORD
groupName: {{ .Values.groupName.name }}
solverName: regru-dns
Сохраните файл и выполните команду:
kubectl create -f ClusterIssuer.yaml
После этого можно создавать ресурс сертификата.
Пример: wildcard certificate
Создайте файл certificate.yaml с таким содержимым:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: changeme
namespace: changeme
spec:
secretName: changeme
issuerRef:
name: regru-dns
kind: ClusterIssuer
dnsNames:
- *.my-domain-test.ru
Выполните команду:
kubectl create -f certificate.yaml
Выпуск сертификата может занять некоторое время (зависит от скорости распространения записи у провайдера по его серверам). После этого сертификат сразу же будет готов к использованию в вашем приложении.
Заключение
Если у вас есть какие-то идеи или пожелания по добавлению новых функций, приносите их в issues (или даже pull requests). И, конечно, будем рады новым звездам!
Исходный код проекта распространяется на условиях Apache License 2.0.
P.S.
Читайте также в нашем блоге:
-
«SSL-сертификаты от Let’s Encrypt с cert-manager в Kubernetes»;
-
«Азбука безопасности в Kubernetes: аутентификация, авторизация, аудит»;
-
«Представляем glaball для управления множеством GitLab-инстансов».
- Установка сертификата для основного домена и поддомена WWW на хостинге
- Установка Wildcard-сертификата
В этой статье мы расскажем, как выпустить и установить бесплатный SSL-сертификат от Let’s Encrypt на хостинге с панелью управления ISPmanager.
Let’s Encrypt-сертификат можно установить через панель управления как при добавлении нового домена на хостинг, так и для домена, который уже на него добавлен.
Ниже мы рассмотрим два варианта установки сертификата для уже существующего на хостинге домена:
- для основного домена и поддомена WWW,
- Wildcard-сертификат для основного домена и всех поддоменов 3 уровня.
Установка сертификата для основного домена и поддомена WWW на хостинге
Перед тем как выпустить сертификат, Let’s Encrypt проверяет, являетесь ли вы владельцем домена или нет. В качестве подтверждения используется TXT-запись, которую нужно добавить в ресурсные записи домена.
Если для вашего домена прописаны хостинговые DNS-серверы ns1.hosting.reg.ru и ns2.hosting.reg.ru, право владения подтвердится автоматически. Если прописаны ns1.reg.ru и ns2.reg.ru, запись нужно будет добавить вручную. Проверьте по инструкции, какие DNS-серверы прописаны у вашего домена, и выберите нужный вариант.
ns1.hosting.reg.ru/ns2.hosting.reg.ru
- Откройте панель управления.
- Перейдите в раздел SSL-сертификаты и нажмите Let’s Encrypt:
- Поставьте галочку напротив «Проверка через DNS» и из выпадающего списка «Домен» выберите тот, для которого хотите выпустить сертификат. Затем нажмите Ok.
Обратите внимание! Если на вашем сайте уже есть работающий сертификат, уберите галочку с «Включить SSL-сертификат». В противном случае он сразу будет заменен на новый (ещё не выпущенный). Пользователи будут видеть на сайте уведомление о незащищённом соединении до тех пор, пока новый сертификат не будет выпущен. После выпуска вы сможете включить сертификат в настройках сайта. -
Готово, вы запросили сертификат. Он будет выпущен в течение 2 часов.
n1.reg.ru/ns2.reg.ru и другие DNS
- Откройте панель управления.
- Перейдите в раздел SSL-сертификаты и нажмите Let’s Encrypt:
- Поставьте галочку напротив Проверка через DNS и из выпадающего списка «Домен» выберите тот, для которого хотите выпустить сертификат. Затем нажмите Ok.
- Обратите внимание! Если на вашем сайте уже есть работающий сертификат, уберите галочку с «Включить SSL-сертификат». В противном случае он сразу будет заменен на новый (ещё не выпущенный). Пользователи будут видеть на сайте уведомление о незащищённом соединении до тех пор, пока новый сертификат не будет выпущен. После выпуска вы сможете включить сертификат в настройках сайта.
-
- Разверните раздел Мониторинг и журналы и выберите Уведомления:
- В течение 15-30 минут в этом разделе появится уведомление. В нём будет указано значение одной или нескольких записей, которые нужно добавить на DNS-серверы вашего домена. Пример уведомления:
Где:
― _acme-challenge.test2d.ru ― субдомен, для которого нужно добавить запись.
― MGfCxSoRuLvddTolCjSg33yyBfGWjqX55WdURIWj8Ww ― уникальное значение записи. - Добавьте все указанные значения записей на DNS-серверы домена. Обычно для подтверждения нужно добавить 2 записи:
― субдомен ― _acme-challenge, значение ― код, который идёт после «TXT»;
― субдомен ― _acme-challenge.www, значение ― код, который идёт после «TXT».
Если для домена прописаны ns1.reg.ru и ns2.reg.ru, используйте для этого инструкцию. Если у вас прописаны другие DNS, обратитесь в компанию, которая вам их предоставляет.
Готово, вы запросили сертификат. Он будет выпущен в течение 2 часов.
Установка Wildcard-сертификата
Перед тем как выпустить Wildcard сертификат, Let’s Encrypt проверяет, являетесь ли вы владельцем домена. В качестве подтверждения используется TXT-запись, которую нужно добавить в ресурсные записи домена.
Если для вашего домена прописаны хостинговые DNS-серверы ns1.hosting.reg.ru и ns2.hosting.reg.ru, право владения подтвердится автоматически. Если прописаны ns1.reg.ru и ns2.reg.ru, запись нужно будет добавить вручную. Проверьте по инструкции, какие DNS-серверы прописаны у вашего домена, и выберите нужный вариант.
ns1.hosting.reg.ru/ns2.hosting.reg.ru
- Откройте панель управления.
- Перейдите в раздел SSL-сертификаты и нажмите Let’s Encrypt:
- Поставьте галочку напротив «Wildcard сертификат» и из выпадающего списка «Домен» выберите тот, для которого хотите выпустить сертификат. Затем нажмите Ok.
- Обратите внимание! Если на вашем сайте уже есть работающий сертификат, уберите галочку с «Включить SSL-сертификат». В противном случае он сразу будет заменен на новый (ещё не выпущенный). Пользователи будут видеть на сайте уведомление о незащищённом соединении до тех пор, пока новый сертификат не будет выпущен. После выпуска вы сможете включить сертификат в настройках сайта.
Готово, вы запросили сертификат. Он будет выпущен в течение 2 часов.
n1.reg.ru/ns2.reg.ru и другие DNS
- Откройте панель управления.
- Перейдите в раздел SSL-сертификаты и нажмите Let’s Encrypt:
- Поставьте галочку напротив «Wildcard сертификат» и из выпадающего списка «Домен» выберите тот, для которого хотите выпустить сертификат. Затем нажмите Ok.
- Обратите внимание! Если на вашем сайте уже есть работающий сертификат, уберите галочку с «Включить SSL-сертификат». В противном случае он сразу будет заменен на новый (ещё не выпущенный). Пользователи будут видеть на сайте уведомление о незащищённом соединении до тех пор, пока новый сертификат не будет выпущен. После выпуска вы сможете включить сертификат в настройках сайта.
- Разверните раздел Мониторинг и журналы и выберите Уведомления:
- В течение 15-30 минут в этом разделе появится уведомление. В нём будет указано значение одной или нескольких записей, которые нужно добавить на DNS-серверы вашего домена. Пример уведомления:
Где:
― _acme-challenge.test2d.ru ― субдомен, для которого нужно добавить запись,
― MGfCxSoRuLvddTolCjSg33yyBfGWjqX55WdURIWj8Ww ― уникальное значение записи. - Добавьте эту запись на DNS вашего домена. Если для домена прописаны ns1.reg.ru и ns2.reg.ru, используйте инструкцию. Если у вас прописаны другие DNS, обратитесь к компании, которая вам их предоставляет.
Готово, вы запросили сертификат. Он будет выпущен в течение 2 часов.
