Как подключить сайт к Cloudflare: пошаговая настройка
Практика4 минРедакция Innovialabs
Коротко
Добавьте домен в Cloudflare, сверьте импортированные DNS-записи, замените NS-серверы у регистратора и выберите режим SSL Full (strict) — так сайт получит CDN и защиту без поломок. Большинство проблем возникает из-за режима Flexible, забытых DNS-записей и включённого DNSSEC.
Коротко: пять шагов
- Добавить домен в Cloudflare и проверить импортированные DNS-записи.
- Решить, какие записи проксировать (оранжевое облако), а какие нет (серое).
- Отключить DNSSEC у регистратора и заменить NS-серверы на выданные Cloudflare.
- Выбрать режим SSL Full (strict) и включить Always Use HTTPS.
- Оставить стандартное кэширование и добавлять правила точечно.
Бесплатного плана Cloudflare для большинства сайтов достаточно.
Шаг 1. Добавьте домен и сверьте записи
В панели Cloudflare выберите добавление домена и бесплатный план. Cloudflare просканирует текущие DNS-записи и предложит их импортировать.
Сканирование находит не всё. Перед продолжением откройте DNS-зону у текущего провайдера и сверьте построчно:
- A, AAAA и CNAME для сайта и всех поддоменов;
- MX-записи и TXT-записи почты (SPF, DKIM, DMARC);
- записи подтверждения сервисов (Google, Яндекс, Microsoft и т. п.);
- SRV-записи, если они есть.
Сохраните копию старой зоны — она пригодится, если что-то пойдёт не так.
Шаг 2. Оранжевое или серое облако
- Proxied (оранжевое) — трафик идёт через Cloudflare: работает CDN, защита от атак, реальный IP сервера скрыт.
- DNS only (серое) — Cloudflare только отвечает на DNS-запросы, трафик идёт напрямую на сервер.
Проксируйте записи сайта: корневой домен, www, поддомены с веб-приложениями. Оставляйте серыми всё, что не работает по HTTP(S): почтовые серверы (например, mail.example.com, на который указывает MX), FTP, SSH, игровые и VPN-сервисы.
Шаг 3. Смените NS-серверы
Cloudflare выдаст два NS-сервера. В панели регистратора замените ими текущие.
Перед этим отключите DNSSEC у регистратора (удалите DS-запись). Если этого не сделать, после смены NS домен может перестать открываться у части пользователей. Когда Cloudflare активирует домен, включите DNSSEC уже в Cloudflare и добавьте новую DS-запись у регистратора.
Смена NS обычно применяется за несколько часов, иногда дольше. Cloudflare пришлёт письмо, когда домен станет активным.
Шаг 4. Правильный режим SSL
Раздел SSL/TLS → Overview:
| Режим | Что происходит | Когда использовать |
|---|---|---|
| Off | HTTPS не используется | Никогда |
| Flexible | HTTPS до Cloudflare, HTTP до сервера | Только если на сервере нет SSL совсем, и временно |
| Full | HTTPS до сервера, сертификат не проверяется | Переходный вариант |
| Full (strict) | HTTPS до сервера с проверкой сертификата | Рекомендуемый |
Для Full (strict) на сервере нужен действительный сертификат: от Let’s Encrypt или бесплатный Origin CA от Cloudflare. Origin CA доверяет только Cloudflare, поэтому запись с таким сертификатом должна оставаться проксированной.
Затем включите Always Use HTTPS. HSTS включайте последним, когда всё стабильно работает: браузеры запоминают эту настройку, и откатить её быстро не получится.
Шаг 5. Базовое кэширование
По умолчанию Cloudflare кэширует статические файлы по расширению (изображения, CSS, JS, шрифты) и не кэширует HTML. Для старта этого достаточно.
- В Caching → Configuration оставьте стандартный уровень кэширования.
- Через Cache Rules задайте долгий срок хранения для папок с версионированными файлами, например
/assets/*. - HTML кэшируйте только для полностью статических страниц. Админку, корзину, личный кабинет исключайте из кэша.
- После релиза очищайте кэш: Purge Cache целиком или по URL. Development Mode временно отключает кэш на время правок.
Ошибки, которые ломают сайт
- Flexible + редирект на HTTPS на сервере — бесконечный цикл и ошибка
ERR_TOO_MANY_REDIRECTS. - DNSSEC не отключён перед сменой NS.
- Забытые записи при импорте — чаще всего перестаёт работать почта.
- Проксирование почтовых и SSH-поддоменов — эти протоколы через прокси не проходят.
- Кэш HTML с персональными данными — посетители видят чужие страницы.
- Фаервол сервера блокирует IP Cloudflare: теперь весь трафик приходит с них. По той же причине в логах видны адреса Cloudflare. Реальный IP посетителя передаётся в заголовке
CF-Connecting-IP:
# Добавьте все диапазоны из официального списка IP Cloudflare
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;
- Rocket Loader и другие оптимизации скриптов иногда ломают JavaScript. Если после подключения перестали работать формы или виджеты, отключите их в первую очередь.