[Документация Yandex Cloud](../../index.md) > [Yandex Certificate Manager](../index.md) > [Концепции](index.md) > Проверка прав на домен

# Проверка прав на домен

Для получения и обновления сертификата от Let's Encrypt пройдите процедуру проверки прав на каждый домен, указанный в сертификате. В Certificate Manager доступно два типа проверок: `HTTP` и `DNS`. При создании сертификата вы можете выбрать любой тип проверки. Проверка прав на домены может занять продолжительное время.

{% note info %}

Проверка прав на домены требуется только для сертификатов от Let's Encrypt. Certificate Manager не проверяет права на домены из импортированных пользовательских сертификатов.

{% endnote %}

Certificate Manager ожидает успешного завершения процедуры проверки по каждому домену из сертификата (статус всех проверок — `Valid`). После этого будет выпущен сертификат в Let's Encrypt. Статус сертификата изменится на `Issued`, и вы сможете использовать его в сервисах, интегрированных с Certificate Manager.

Если процедура проверки не будет выполнена в течение одной недели, сертификат перейдет в статус `Invalid` при получении сертификата или `Renewal_failed` при обновлении сертификата. Чтобы после этого получить сертификат, создайте новый запрос на выпуск сертификата от Let's Encrypt.

## Статусы процедуры проверки сертификата {#status}

Процедура проверки может находиться в следующих статусах:
* `Pending` — процедура проверки ожидает завершения. Факт завершения процедуры проверки определяет Certificate Manager.
* `Validating` — процедура проверки ожидает подтверждения от Let's Encrypt.
* `Valid` — процедура проверки успешно пройдена.
* `Invalid` — процедура проверки прав на конкретный домен завершилась с ошибкой или истек срок в одну неделю, отведенный на прохождение процедуры.
* `Renewal_failed` — процедура проверки прав при обновлении сертификата завершилась с ошибкой или истек срок в одну неделю, отведенный на прохождение процедуры.
* `Issued` — сертификат выпущен.

## HTTP {#http}

{% note info %}

Тип проверки `HTTP` не может использоваться для [Wildcard-сертификатов](../../glossary/ssl-certificate.md#types).

{% endnote %}

Для прохождения процедуры проверки прав на домен `example.com`:

1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в который был добавлен сертификат.
1. Перейдите в сервис **Certificate Manager** и нажмите на имя нужного сертификата.
1. Подготовьте файл, который позволит удостоверяющему центру Let's Encrypt убедиться, что вы являетесь владельцем указанного в сертификате домена:

    1. С помощью панели управления вашим хостингом создайте на сервере файл, имя и путь к которому соответствуют значению поля **Ссылка для размещения файла** в блоке **Проверка прав на домены**. Например:

        * `/.well-known/acme-challenge/` — путь размещения файла.
        * `di2o3VRsbS6H_eUntKnW3Xcefw_1DOSpZ1B********` — имя файла.

    1. Поместите в созданный файл значение поля **Содержимое** из блока **Проверка прав на домены**. Например:

        > di2o3VRsbS6H_eUntKnW3Xcefw_1DOSpZ1BLW0QUDbE._TYLpfPMbwHQZ1aEmsdpidY5bPUnVyDvqSO********

    В результате на вашем веб-сервере должен появиться файл `http://example.com/.well-known/acme-challenge/di2o3VRsbS6H_eUntKnW3Xcefw_1DOSpZ1B********`, содержащий текст `di2o3VRsbS6H_eUntKnW3Xcefw_1DOSpZ1BLW0QUDbE._TYLpfPMbwHQZ1aEmsdpidY5bPUnVyDvqSO********`.

1. Дождитесь, когда удостоверяющий центр Let's Encrypt выпустит сертификат, после чего статус сертификата изменится на `Issued`.
1. Удалите с вашего веб-сервера созданный для проверки сертификата файл.

## DNS {#dns}

Если у вас нет доступа к веб-серверу или необходимо получить [Wildcard-сертификат](../../glossary/ssl-certificate.md#types) с масками на поддомены вида `*.example.com`, используйте тип проверки `DNS`.

Для прохождения проверки вам необходимо добавить специальную DNS-запись одного из двух типов: `TXT` или `CNAME`.

{% note alert %}

Добавляйте только одну запись. Если добавить обе записи, возникнут конфликты в работе кеширующих серверов.

{% endnote %}

При использовании TXT-записи вам придется проходить проверку каждые 60 дней в рамках автоматического обновления сертификата.

При использовании CNAME-записи возможно пройти проверку только один раз. Для этого необходимо делегировать Certificate Manager право ответа в DNS-зоне домена, используемой при проверке. В этом случае проверки будут проходить автоматически.

### Добавление CNAME-записи {#cname}

Для автоматического прохождения проверки прав на домен `example.com`:
1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в который был добавлен сертификат.
1. Перейдите в сервис **Certificate Manager**.
1. В списке сертификатов выберите сертификат, который участвует в проверке.
1. Порядок действий на этом шаге будет зависеть от того, управляет вашим доменом сервис Yandex Cloud DNS или сторонний DNS-провайдер.

    {% list tabs group=instructions %}
    
    - Yandex Cloud DNS {#dns}
    
      В разделе **Проверка прав на домены** в блоке с типом записи `CNAME` нажмите кнопку **Создать запись**. В открывшемся окне:
    
      1. Если в текущем каталоге есть подходящая зона DNS, она будет автоматически подставлена в поле **Зона**. Если подходящей зоны DNS нет, нажмите **Создать зону** и задайте ее параметры, чтобы [создать](../../dns/operations/zone-create-public.md) зону.
      1. Нажмите кнопку **Создать**.
    
    - Сторонний DNS-провайдер {#third-party-dns-server}
    
      1. В разделе **Проверка прав на домены**, в блоке с типом записи `CNAME`, в поле **Значение** посмотрите значение записи для домена.
      1. Разместите у своего DNS-провайдера или на собственном [DNS-сервере](../../glossary/dns.md#dns-server) `CNAME`-запись для делегирования прав управления на DNS-зону, используемую для проверки:
    
          ```
          _acme-challenge.example.com CNAME <значение>
          ```
          Строка `<значение>` формируется по шаблону `<идентификатор_сертификата>.cm.yandexcloud.net.`
    
    {% endlist %}
    
    {% note info %}
    
    Чтобы DNS-проверка прав на домен по записи `CNAME` прошла успешно, для поддомена `_acme-challenge` проверяемого доменного имени не должно быть других [ресурсных записей](../../dns/concepts/resource-record.md), кроме `CNAME`. Например, для имени `_acme-challenge.example.com.` должна существовать только CNAME-запись и не должно быть TXT-записи.
    
    {% endnote %}

    {% note info %}
    
    Проверка прав на домены может занять от нескольких часов до нескольких дней.
    
    {% endnote %}


### Добавление TXT-записи {#txt}

Для прохождения проверки прав на домен `example.com`:
1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог, в который был добавлен сертификат.
1. Перейдите в сервис **Certificate Manager**.
1. В списке сертификатов выберите сертификат, который участвует в проверке.
1. Порядок действий на этом шаге будет зависеть от того, управляет вашим доменом сервис Yandex Cloud DNS или сторонний DNS-провайдер.

    {% list tabs group=instructions %}

    - Yandex Cloud DNS {#dns}

      В разделе **Проверка прав на домены**, в блоке с типом записи `TXT`, в поле **Cloud DNS**, нажмите кнопку **Создать запись**. В открывшемся окне:

      1. Если в текущем каталоге есть подходящая зона DNS, она будет автоматически подставлена в поле **Зона**. Если подходящей зоны DNS нет, нажмите **Создать зону** и задайте ее параметры, чтобы [создать](../../dns/operations/zone-create-public.md) зону.
      1. Нажмите кнопку **Создать**.

    - Сторонний DNS-провайдер {#third-party-dns-server}

      1. В разделе **Проверка прав на домены**, в блоке с типом записи `TXT`, в поле **Значение**, посмотрите значение записи для домена.
      1. Разместите у своего DNS-провайдера или на собственном DNS-сервере `TXT`-запись:

          ```
          _acme-challenge.example.com. IN TXT <значение>
          ```

    {% endlist %}

    {% note info %}
    
    Проверка прав на домены может занять от нескольких часов до нескольких дней.
    
    {% endnote %}

1. После изменения статуса сертификата на `Issued` удалите с DNS-сервера добавленную `TXT`-запись.

## Автоматическая проверка прав {#auto}

В некоторых случаях процедура проверки прав на домен не требует участия пользователя.

### CNAME-запись на зону {#auto-cname}

Проверка проходит автоматически при соблюдении следующих условий:
* Сертификат находится в статусе `Renewing` — проходит процедуру [обновления](managed-certificate.md#renew).
* Для каждого домена сертификата настроена DNS-запись:

    ```
    _acme-challenge.example.com CNAME <идентификатор_сертификата>.cm.yandexcloud.net.
    ```

### Перенаправление статического сайта Object Storage {#auto-s3}

Проверка проходит автоматически при соблюдении следующих условий:
* Сертификат находится в статусе `Renewing` — проходит процедуру [обновления](managed-certificate.md#renew).
* Сертификат используется в [HTTPS-конфигурации](../../storage/operations/hosting/certificate.md#cert-manager) статического сайта [Object Storage](../../tutorials/web/static/index.md).
* Для каждого домена сертификата настроен:
    * [алиас](../../storage/operations/hosting/own-domain.md) на бакет статического сайта, в котором используется этот сертификат;
    * или [переадресация](../../storage/operations/hosting/multiple-domains/index.md) на домен с алиасом на бакет.
* Сертификат не является [Wildcard-сертификатом](../../glossary/ssl-certificate.md#types) — не содержит масок на поддомены.

### Перенаправление на сервер валидации в веб-сервере {#auto-vs}

Проверка проходит автоматически при соблюдении следующих условий:
* Сертификат находится в статусе `Renewing` — проходит процедуру [обновления](managed-certificate.md#renew).
* Сертификат не является [Wildcard-сертификатом](../../glossary/ssl-certificate.md#types) — не содержит масок на поддомены.
* Для каждого домена сертификата в веб-сервере настроено перенаправление с
    ```
    http://<домен>/.well-known/acme-challenge/*
    ```
    на
    ```
    https://validation.ycm.api.yandexcloud.kz/<идентификатор_сертификата>/*
    ```
    Данный эндпоинт доступен только по IPv6.

Пример настройки перенаправления в nginx-конфигурации:
```
server {
  location ~ ^/.well-known/acme-challenge/([a-zA-Z0-9-_]+)$ {
    return 301 https://validation.ycm.api.yandexcloud.kz/<идентификатор_сертификата>/$1;
  }
}
```

#### Полезные ссылки {#see-also}

* [Документация Let's Encrypt. Виды проверок](https://letsencrypt.org/ru/docs/challenge-types/)