Подключение домена к Cloudflare: рабочая схема без ошибок
Следующий шаг
Открой бота или продолжай маршрут внутри раздела.
Статья -> план в ИИ
Отправь ссылку на эту статью в любой ИИ и получи план внедрения под свой проект.
Прочитай эту статью: https://vibecode.morecil.ru/ru/interfeis-i-sayty/podklychenie-domena-cloudflare/
Работай в контексте моего текущего проекта.
Сделай план внедрения под мой стек:
1) что изменить
2) в каких файлах
3) риски и типичные ошибки
4) как проверить, что всё работает
Если есть варианты, дай "быстрый" и "production-ready". Как использовать
- Скопируй этот промпт и отправь в чат с ИИ.
- Прикрепи проект или открой папку репозитория в ИИ-инструменте.
- Попроси изменения по файлам, риски и короткий чеклист проверки.
Короткий ответ
Подключение домена через Cloudflare проходит стабильно, если сначала выставить правильные DNS-записи, затем проверить SSL и только после этого включать редиректы. Ошибка №1 — смешивание проксируемых и непоксируемых записей без проверки итогового маршрута. После подключения обязательно проверь canonical и sitemap.
- Обязательно: единый канонический хост и предсказуемые 301-редиректы.
- Проверка: ответ сервера, SSL-цепочка, отсутствие циклов редиректа.
- Финал: отправка sitemap в поисковики после переключения домена.
Шаг 1. Подготовка (один раз)
Купите домен в Timeweb (или где угодно).
Создайте токены:
- Timeweb Cloud → https://timeweb.cloud/my/api-keys → Создать Bearer-токен (полные права на домены).
- Cloudflare → https://dash.cloudflare.com/profile/api-tokens → Create Token → шаблон Edit zone DNS → добавьте:
- Zone:Edit
- DNS:Edit
- Pages:Edit
- Account:Read
→ Create.
Запишите значения (можно в блокнот):
DOMAIN= вашдомен.ruTW_TOKEN= eyJ...CF_TOKEN= ваш_клаудфларе_токенCF_ACCOUNT_ID= ваш Account ID (видно в дашборде Cloudflare)CF_PROJECT= точное имя вашего Pages-проекта
Шаг 2. Безопасная миграция через Codex
- Скопируйте и вставьте этот большой промпт как первое сообщение:
code
Твоя задача — провести безопасную миграцию домена на Cloudflare Pages в 2 фазы с помощью только curl-команд.
Правила:
- Всегда используй только curl (никакого Python, Node и т.д.).
- Никогда не храни токены. Каждый раз используй плейсхолдеры или проси пользователя вставить их заново.
- После каждой curl-команды пиши: "Скопируй и выполни эту команду в терминале, затем вставь сюда полный ответ (JSON)".
- Работай строго по шагам ниже. Не пропускай и не объединяй шаги.
- После каждого успешного шага пиши "Шаг X завершён ✓" и переходи к следующему только после ответа пользователя.
- Если пользователь скажет "начни фазу 1" — начинай с шага 1.
Фаза 1 (безопасная, без даунтайма):
1. Попроси все переменные: DOMAIN, TW_TOKEN, CF_TOKEN, CF_ACCOUNT_ID, CF_PROJECT.
2. Backup DNS из Timeweb: сгенерируй curl GET https://api.timeweb.cloud/api/v1/domains/$DOMAIN/dns-records
3. Сохрани текущие NS (GET /api/v1/domains/$DOMAIN/name-servers) для rollback.
4. Создай зону в Cloudflare: POST https://api.cloudflare.com/client/v4/zones с type=full.
5. Получи zone_id и name_servers Cloudflare.
6. Перенеси записи: либо сгенерируй BIND zone file из JSON Timeweb и curl-import, либо создай каждую запись отдельным POST /zones/{zone_id}/dns_records.
7. Привяжи домен к Pages: два POST на /accounts/{CF_ACCOUNT_ID}/pages/projects/{CF_PROJECT}/domains (domain.com и www.domain.com).
Фаза 2 (переключение):
8. Отключить DNSSEC у регистратора (напомни пользователю сделать вручную, если включён).
9. Сменить NS в Timeweb: PUT https://api.timeweb.cloud/api/v1/domains/$DOMAIN/name-servers с name_servers Cloudflare.
10. Запустить цикл проверки: каждые 15–20 секунд curl GET зоны + dig NS + curl -I https://$DOMAIN
11. Когда статус active — включить DNSSEC в Cloudflare: PATCH /zones/{zone_id}/dnssec {"status":"active"}
Если что-то пойдёт не так — сразу предлагай rollback (вернуть старые NS).
Начинай только когда пользователь скажет "начни" или "начни фазу 1".
- После вставки промпта напишите ИИ:
«Начни фазу 1»
ИИ начнёт спрашивать токены, генерировать первую curl-команду и вести вас до конца.
Что будет происходить дальше
- ИИ сам парсит все JSON-ответы.
- При переносе DNS он либо создаст удобный BIND-файл и даст curl с
--form file=@zone.txt, либо сделает отдельные curl на каждую запись (обычно 5–15 штук). - В фазе 2 он сам будет проверять активацию зоны и скажет, когда можно включать DNSSEC.
- Если домен зарегистрирован не напрямую в Timeweb (а у партнёра) — ИИ напомнит сменить NS вручную в панели регистратора.
Важные нюансы (ИИ тоже их знает)
- Если смена NS через API Timeweb недоступна — ИИ скажет сменить вручную.
- Перенос регистратора в Cloudflare Registrar делайте только через 24–48 часов после активации.
- Всё делается с нулевым даунтаймом — сайт продолжает работать на старых NS до самого переключения.