DNS-провайдеры
Подключите DNS-провайдера, чтобы управлять зонами и записями из Skitflow, и позвольте Skitflow создавать A- или CNAME-запись при привязке домена.
DNS-провайдеры связывают Skitflow с аккаунтом, где размещены ваши домены. После подключения провайдера можно просматривать его зоны, создавать, изменять и удалять записи прямо из панели, а при желании поручить Skitflow направить домен на ваш сервер при сохранении домена в приложении или Compose-сервисе.
Поддерживаются десять вариантов подключения: Cloudflare, Amazon Route 53, Porkbun, Infomaniak, OVHcloud, Yandex Cloud DNS, Timeweb Cloud, Timeweb Hosting, REG.RU и NIC.RU (RU-CENTER).
Управлять провайдерами (добавлять, изменять, удалять, проверять соединение) могут роли Owner и Admin. Просмотр зон и записей, а также создание, изменение и удаление записей подчиняются правам группы domains (read, create, update, delete) из Custom Roles. У DNS-провайдеров нет ограничений по тарифу или лицензии.
Добавление провайдера
- Откройте Настройки → DNS-провайдеры и нажмите Добавить провайдера.
- Укажите название (до 64 символов, например
Основной DNS) и выберите Провайдер. - Заполните Данные доступа выбранного провайдера — см. справочник по провайдерам ниже. Данные доступа шифруются и после сохранения не возвращаются в браузер.
- Сохраните. Провайдер появится в списке с датой создания, типом TTL (TTL у каждой записи или TTL на уровне зоны) и пометкой Поддерживает проксирование, если она применима.
Чтобы изменить провайдера, используйте действие изменения в его строке. Сохранённые данные скрыты (•••••••• (без изменений)); оставьте все поля данных доступа пустыми, чтобы не менять их. Если вы меняете тип провайдера или переключаете Timeweb между Cloud и Hosting, нужно ввести данные доступа для нового варианта.
Чтобы удалить провайдера, используйте действие удаления и подтвердите его. Отменить удаление нельзя. Домены, привязанные к провайдеру, остаются, но теряют привязку, а для них выключается Создавать DNS-запись автоматически. Записи, уже созданные у DNS-провайдера, не затрагиваются.
Проверка соединения
Сначала сохраните провайдера, затем нажмите Проверить соединение. Skitflow выполняет самый дешёвый аутентифицированный запрос, который есть у провайдера, и показывает Соединение установлено или Не удалось проверить соединение. Если провайдер отклонил запрос, показывается его причина. Интерфейс просит сохранить изменения провайдера или данных доступа перед проверкой, потому что проверка использует сохранённые данные.
Ту же проверку можно выполнить через API:
curl -X POST 'https://your-skitflow-host/api/dnsProvider.testConnection' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
-H 'x-api-key: YOUR-GENERATED-API-KEY' \
-d '{"dnsProviderId": "YOUR-DNS-PROVIDER-ID"}'О том, как получить API-ключ, см. Skitflow API. Успешный вызов возвращает {"ok": true}.
Если сохранённые данные провайдера больше не удаётся расшифровать (например, после смены секретного ключа инстанса), проверка соединения и работа с записями сообщат, что данные не читаются. Измените провайдера и введите данные заново либо удалите его.
Справочник по провайдерам
Все поля данных доступа обязательны, если не указано иное. Названия полей — как в панели.
Cloudflare
| Поле | Примечания |
|---|---|
| API-токен | Используйте токен с ограниченными правами Zone → DNS → Edit. |
Cloudflare — единственный провайдер с проксированием: A-, AAAA- и CNAME-записи можно переключать между Только DNS и Через прокси. Записи через прокси всегда используют автоматический TTL. TTL задаётся у каждой записи; Авто — это значение Cloudflare 1.
Amazon Route 53
| Поле | Примечания |
|---|---|
| Идентификатор ключа доступа | Ключ доступа IAM. |
| Секретный ключ доступа | Используйте IAM-данные с правами на просмотр hosted zones и управление записями Route 53. |
В форме нет поля региона; Skitflow использует us-east-1. Route 53 хранит несколько значений записи как один набор записей; в таблице записей они показаны по одному в строке.
Porkbun
| Поле | Примечания |
|---|---|
| API-ключ | Начинается с pk1_. |
| Секретный API-ключ | Начинается с sk1_. Создайте пару ключей в разделе Porkbun API Access и разрешите API-доступ к нужным доменам. |
Infomaniak
| Поле | Примечания |
|---|---|
| API-токен | Токен Infomaniak с правами на чтение и изменение DNS-зон. |
Infomaniak принимает TTL от 60 до 86400 секунд.
OVHcloud
| Поле | Примечания |
|---|---|
| API-эндпоинт | Фиксированный эндпоинт, в котором создано приложение OVHcloud: OVHcloud Europe, OVHcloud Canada, OVHcloud US, Kimsufi Europe, Kimsufi Canada, So you Start Europe или So you Start Canada. По умолчанию — OVHcloud Europe. |
| Ключ приложения | Из вашего API-приложения OVHcloud. |
| Секрет приложения | Из вашего API-приложения OVHcloud. |
| Ключ пользователя | Должен давать права на чтение и изменение DNS-зон, которыми вы хотите управлять. |
| DNS-зона (необязательно) | Ограничивает провайдера одной делегированной зоной. Оставьте поле пустым, чтобы получить все доступные зоны автоматически. |
Заполните DNS-зона, если ключ пользователя покрывает только делегированную зону поддомена, например eu.example.com: тогда провайдер покажет ровно эту зону вместо автоматического поиска зон, а проверка соединения обратится именно к ней.
Yandex Cloud DNS
| Поле | Примечания |
|---|---|
| ID каталога | Каталог Yandex Cloud, в котором лежат DNS-зоны: Cloud DNS отдаёт список зон по каталогу, а не по аккаунту. |
| Авторизованный ключ сервисного аккаунта | Вставьте JSON авторизованного ключа сервисного аккаунта с ролью dns.editor. |
Cloud DNS принимает только IAM-токены, поэтому Skitflow обменивает ключ на короткоживущий токен при каждом запросе. Вставленное значение должно быть корректным JSON с полями id, service_account_id и private_key.
Timeweb Cloud и Timeweb Hosting
Timeweb — один провайдер с двумя значениями поля Режим аккаунта. Выберите то, где находятся ваши домены.
Cloud (timeweb.cloud)
| Поле | Примечания |
|---|---|
| API-токен | Создайте токен в панели управления Timeweb Cloud в разделе «API и токены»; токен должен давать права на управление доменами и DNS-записями. |
TTL задаётся у каждой записи и должен быть не меньше 1 секунды. Записи NS и CAA не поддерживаются.
Hosting (timeweb.ru)
| Поле | Примечания |
|---|---|
| Логин хостинг-аккаунта | Логин Timeweb Hosting. |
| Пароль хостинг-аккаунта | Пароль Timeweb Hosting. |
| API-ключ хостинга | appkey. Запросите его у поддержки Timeweb Hosting. Для доступа к API подтверждение входа по SMS должно быть отключено. |
Hosting-зоны определяются только по сайтам: если домена нет в списке, сначала добавьте его в панели Timeweb. TTL управляется Timeweb Hosting, поэтому TTL записи здесь не меняется. Записи CAA не поддерживаются. У Hosting нет вызова обновления, поэтому изменение записи удаляет и создаёт её заново; если создание не удалось, старая запись уже удалена.
REG.RU
| Поле | Примечания |
|---|---|
| Логин аккаунта | Логин аккаунта REG.RU. |
| API-пароль | Отдельный API-пароль из настроек аккаунта REG.RU, а не пароль для входа. Сначала включите там доступ к API и разрешите IP-адрес своего сервера. |
Зоны — это домены, делегированные на NS-серверы REG.RU. У REG.RU один TTL на всю зону, поэтому TTL записи здесь не меняется. Записи CAA не поддерживаются.
NIC.RU (RU-CENTER)
| Поле | Примечания |
|---|---|
| Логин приложения | Зарегистрируйте приложение на OAuth-сервере RU-CENTER: его логин и секрет выдают токены доступа. |
| Секрет приложения | Секрет этого приложения. |
| Номер договора | Договор NIC.RU, от имени которого работает приложение, в том виде, в каком он указан в личном кабинете, например 123/NIC-D. |
| Пароль договора | Административный или технический пароль этого договора. |
Поддерживается только API DNS-хостинга — регистраторский API идёт по отдельному договору. Постоянного API-ключа у NIC.RU нет, поэтому Skitflow обменивает эти данные на краткоживущий токен при каждой операции. Записи CAA не поддерживаются.
Сводка
| Провайдер | TTL | Проксирование | Неподдерживаемые типы записей |
|---|---|---|---|
| Cloudflare | У каждой записи (Авто = 1) | Да | — |
| Amazon Route 53 | У каждой записи | Нет | — |
| Porkbun | У каждой записи | Нет | — |
| Infomaniak | У каждой записи, 60–86400 с | Нет | — |
| OVHcloud | У каждой записи | Нет | — |
| Yandex Cloud DNS | У каждой записи | Нет | — |
| Timeweb Cloud | У каждой записи, от 1 с | Нет | NS, CAA |
| Timeweb Hosting | На уровне зоны | Нет | CAA |
| REG.RU | На уровне зоны | Нет | CAA |
| NIC.RU | У каждой записи | Нет | CAA |
Зоны и записи
В строке провайдера нажмите Управлять доменами. Страница Управляемые домены показывает зоны, доступные этим данным доступа. Если зон нет, сообщение У этих учётных данных нет доступа к DNS-зонам. означает, что токен, ключ или каталог не покрывают ни одной зоны.
Выберите зону, чтобы открыть её записи. В таблице столбцы Тип, Имя, Значение, TTL, Прокси и Действия, есть поиск, фильтр по типу записи и постраничный вывод (10, 20 или 50 записей на странице). Изменения сразу отправляются DNS-провайдеру.
Нажмите Новая запись (или действие изменения в строке), чтобы открыть панель записи:
- Тип — A, AAAA, CNAME, MX, TXT, NS, SRV или CAA с учётом таблицы провайдеров выше.
- Имя — используйте
@для корня зоны. - Значение — по одному значению в строке, если у записи несколько значений. MX —
приоритет хост(например,10 mail.example.com), SRV —приоритет вес порт цель, CAA —флаги тег "значение". Для A нужен IPv4-адрес, для AAAA — IPv6-адрес, для CNAME и NS — DNS-имя, а CNAME принимает ровно одно значение. - Заполнить из сервера — для A-записей выберите подключённый сервер, чтобы подставить его IP-адрес.
- TTL — показывается только для провайдеров с TTL у каждой записи; оставьте пустым, чтобы использовать значение провайдера. Панель проверяет диапазон, который принимает провайдер.
- Прокси — только Cloudflare.
Удаление записи требует подтверждения и удаляет её у DNS-провайдера.
Автоматическое создание DNS-записи для домена
Привязав домен к DNS-провайдеру, можно поручить Skitflow создать запись. Это опция, по умолчанию она выключена.
- Откройте приложение или Compose-сервис и добавьте или измените домен.
- Включите Создавать DNS-запись автоматически («Создавать или обновлять A- либо CNAME-запись при сохранении домена»).
- Выберите DNS-провайдер. Сохранение без провайдера отклоняется.
- Сохраните домен.
При сохранении домена Skitflow:
- выбирает зону, имя которой лучше всего (самый длинный суффикс) совпадает с хостом домена: для
app.eu.example.comберётся зонаeu.example.com, если есть обе зоны; - использует адрес сервера как цель: IPv4-адрес превращается в A-запись, DNS-имя — в CNAME-запись. IPv6-адрес для автоматического DNS не поддерживается. Если у сервера нет адреса, используется IP веб-сервера, заданный в настройках инстанса;
- обновляет существующую A- или CNAME-запись этого хоста, если она ровно одна, сохраняя её TTL и статус проксирования Cloudflare, а иначе создаёт новую. Если для хоста найдено несколько A/CNAME-записей, Skitflow их не трогает и просит обновить вручную.
Автоматический DNS никогда не блокирует сохранение домена. Если шаг с DNS не удался, вы увидите предупреждение Домен сохранён, но DNS не обновлён с причиной (например, нет подходящей зоны, не читаются данные доступа или не хватает права). Для автоматической записи нужно то же право domains.create или domains.update, что и для ручных изменений записей.
Смена DNS-провайдера у домена не удаляет записи, созданные у прежнего провайдера, а выключение опции ничего не удаляет. Удалите лишние записи в таблице записей провайдера.
См. также
- Domains — добавление доменов к приложениям и Compose-сервисам.
- Certificates — HTTPS для ваших доменов.
- Custom Roles — группа прав
domains. - Audit Logs — изменения провайдеров и записей фиксируются.