← Cloudflare DNS / dns / reference
Domain Connect
Если вы являетесь поставщиком услуг, ознакомьтесь с этой страницей, чтобы узнать, как Cloudflare поддерживает Domain Connect ↗ и как подключить свой шаблон.
Что такое Domain Connect
Domain Connect представляет собой открытый стандарт, который позволяет поставщикам услуг, например платформам электронной почты или хостинга сайтов, упростить настройку функций для конечных пользователей без ручного редактирования DNS-записей.
Это достигается с помощью шаблонов, которые связывают необходимые настройки (требуемые поставщиком услуги) с необходимыми изменениями DNS-записей (которые должны быть выполнены у авторитетного DNS-провайдера).
На практике это означает, что когда пользователь, владеющий example.com и использует Cloudflare в качестве своего авторитативного DNS, хочет воспользоваться вашим сервисом: ему не придётся вручную обновлять свои DNS-записи, будет достаточно пройти аутентификацию, и необходимые изменения применятся автоматически.
Настройка
Перед началом работы
- Учтите, что Cloudflare поддерживает только Синхронный поток Domain Connect ↗.
- Шаблоны и инструменты Domain Connect публикуются на GitHub, поэтому вам потребуется учётная запись GitHub и знакомство с Форки и pull requests на GitHub ↗.
1. Добавьте шаблоны в репозиторий
Шаблоны Domain Connect публикуются и поддерживаются в репозитории на GitHub.
- Создайте форк репозиторий шаблонов ↗.
- Добавьте свой шаблон. Можно создать копию одного из существующих шаблонов и изменить её под свои задачи.
-
См. Спецификация Domain Connect ↗ для сведений о доступных полях.
-
Если он присутствует, необходимо задать
syncBlockполе в вашем шаблоне наfalse. Это означает, что процесс работы с шаблоном будет синхронным, а это единственный вариант, поддерживаемый Cloudflare. -
Также необходимо указать синхронный домен открытого ключа (
syncPubKeyDomain1). Пока используется ваш шаблон, синхронные вызовы будут подписываться цифровой подписью.
-
- Обязательно соблюдайте формат именования, определённый Domain Connect:
<providerId>.<serviceId>.json.
- Чтобы добавить свои шаблоны в репозиторий, отправьте pull request.
После того как ваш pull request будет проверен и слит, свяжитесь с Cloudflare, как указано ниже.
2. Обратитесь в Cloudflare, чтобы подключить свой шаблон
После подключения шаблона вашим конечным пользователям станет доступен графический интерфейс настройки.
Отправьте электронное письмо на [email protected], включая следующие сведения:
-
Список шаблонов, которые вы хотите подключить, с соответствующими ссылками на GitHub.
-
Полные доменные имена (FQDN) для запроса
syncPubKeyDomain1 TXT записи. -
Логотип, который будет отображаться в процессе Domain Connect. Предпочтительно в формате
SVGформате. -
По умолчанию статус прокси который вы хотите, чтобы Cloudflare задал для
A,AAAA, а такжеCNAMEзаписи, которые являются частью ваших шаблонов. Проксирование других типов записей не поддерживается. -
(Необязательно) Cloudflare ID аккаунта чтобы вы могли протестировать этот процесс.
Если у вас есть Определение DNS-провайдера ↗ настроенную автоматизацию и не будете добавлять новых DNS-провайдеров вручную, Cloudflare может сначала ограничить доступ к вашему шаблону только указанным аккаунтом. После того как вы подтвердите, что всё работает как ожидается, Cloudflare опубликует ваш шаблон на эндпоинте обнаружения, откуда его подхватит ваша автоматизация.
Поддержка свойств
В Спецификация Domain Connect ↗ вы найдёте следующие свойства:
- Свойства, которые можно использовать с URL для применения шаблона ↗.
- Свойства для определение самого шаблона ↗.
- Свойства для определения отдельных DNS-записи ↗.
Большинство из них Cloudflare поддерживает, некоторые обязательны, а некоторые не поддерживаются.
Применить URL шаблона
Полный список см. в Спецификация Domain Connect ↗. Ниже приведены детали, специфичные для Cloudflare.
- Redirect URI: В документации Domain Connect указано, что область действия должна ограничиваться
syncRedirectDomainиз шаблона, либо запрос должен быть подписан. Cloudflare требует, чтобы запрос был подписан, и поэтому не проверяет, совпадает лиredirect_uriограничен областьюsyncRedirectDomain. - Состояние: Не поддерживается и будет проигнорировано.
- Имя службы: Не поддерживается и будет проигнорировано.
- Подпись: Обязательно. Также этот параметр должен быть последним в строке запроса.
- Ключ: Обязательно. Нужно опубликовать открытый ключ и разместить его в TXT-записи DNS на домене, указанном в шаблоне как
syncPubKeyDomain. Чтобы обеспечить возможность ротации ключей, к строке запроса формы нужно добавить ещё одну переменную с именем хоста записи TXT.
Определение шаблона
Полный список см. в Спецификация Domain Connect ↗. Ниже приведены детали, специфичные для Cloudflare.
- Имя поставщика услуг: Будет отображаться в пользовательском интерфейсе.
- Имя службы: Будет не отображаться в пользовательском интерфейсе.
- Логотип: Если указано, отображается в пользовательском интерфейсе.
- Synchronous Block: Не поддерживается и будет проигнорировано. Cloudflare поддерживает только синхронный процесс.
- Общее: Не поддерживается и будет проигнорировано.
- Общее имя службы: Не поддерживается и будет проигнорировано.
- Synchronous Public Key Domain: Обязательно. Cloudflare поддерживает только синхронный процесс и всегда проверяет подпись.
- Synchronous Redirect Domains: Не поддерживается и будет проигнорировано. Cloudflare учитывает
redirect_uriуказанный в URL-адресе подписанного шаблона apply. - Несколько экземпляров: Не поддерживается и будет проигнорировано.
- Предупреждение о фишинге: Не поддерживается и будет проигнорировано.
- Host обязателен: Не поддерживается и будет проигнорировано.
DNS-записи
Полный список см. в Спецификация Domain Connect ↗. Ниже приведены детали, специфичные для Cloudflare.
- Базовый: Не поддерживается и будет проигнорировано.
- TXT Conflict Matching Mode: Не поддерживается и будет проигнорировано.
- TXT Conflict Matching Prefix: Не поддерживается и будет проигнорировано.
Пользовательские типы записей
Следующие типы записей описаны в расширения/исключения ↗ раздел спецификации Domain Connect. Ниже приведены сведения, специфичные для Cloudflare.
- APEXCNAME: Этот пользовательский тип записи не поддерживается и приведёт к сбою подключения. Вместо него можно использовать стандартную запись CNAME, поскольку Cloudflare автоматически применяет CNAME flattening на апексе зоны.
- REDIR301 и REDIR302: При применении эти записи преобразуются в специфичные для зоны Bulk Redirect правил. Если в зоне уже существуют массовые перенаправления до применения шаблона, они будут заменены.
Обновления шаблона
Начиная с September, 2024, обновления шаблонов подхватываются автоматизацией.
Автоматика сравнивает номер версии шаблона в Cloudflare с авторитетным источником шаблона в интернете. Эта проверка выполняется несколько раз в день. Cloudflare не может гарантировать точное время подхвата каждого обновления, но обычно весь процесс занимает не более восьми часов.
Вы можете обратиться в Cloudflare, чтобы отказаться от автоматических обновлений. После отключения автоматизации запрашивать обновления шаблонов можно будет по отдельности, написав на [email protected].
Устранение неполадок
Отправьте электронное письмо на [email protected] со следующей информацией:
-
Подробное описание проблемы, включая:
- Дата и время возникновения проблемы.
-
providerIdиserviceIdшаблона. - Описание того, что сделал запрос.
- Описание того, что вы ожидали получить.
-
HAR-файл вложение с проблемным обновлением.
Ошибки проверки
После подключения по шаблону (template onboarding) чаще всего возникают ошибки валидации, как правило вызванные syncPubKeyDomain TXT записи.
Исправить это можно, повторно опубликовав подпись с помощью таких инструментов, как предоставляемый Domain Connect ↗. Кроме того, вы можете проверить валидацию подписи с помощью этого инструмент отладки открытого ключа ↗.
Сноски
-
Домен, который можно запросить на предмет
TXTзаписи, содержащие открытый ключ для проверки вашей цифровой подписи. См. запросы с цифровой подписью ↗ для подробностей. ↩ ↩2