Cloudflare для новичка: домен, DNS и SSL за один вечер

Пять шагов от добавления домена до режима Full (strict): какие DNS-записи проверить, как не потерять почту, какой режим SSL выбрать и как исправить ошибки 521, 525 и 526.

Потоки данных от планеты через защищённый облачный шлюз к серверу

Домен куплен, сервер работает, сайт открывается по IP. Осталось связать всё так, чтобы сайт открывался быстро, по HTTPS и не падал от первой волны ботов. Cloudflare закрывает эти задачи на бесплатном тарифе, но на первом подключении у новичка обычно ломается одно из трёх: почта, SSL или редиректы.

Коротко

Что получится

  • Домен на Cloudflare без потерянной почты
  • Режим Full (strict) с сертификатом на сервере
  • Разбор ошибок 521, 525, 526 и редиректов

Что понадобится

  • Доступ в панель регистратора домена
  • IP-адрес сервера с сайтом
  • 15 минут работы и до 24 часов ожидания новых NS
  1. Шаг 1Домен в Cloudflare
  2. Шаг 2DNS-записи
  3. Шаг 3NS у регистраторадо 24 ч
  4. Шаг 4Режим SSL
  5. Шаг 5Настройки HTTPS
Содержание
  1. Что даёт Cloudflare
  2. Шаг 1. Домен в Cloudflare
  3. Шаг 2. DNS-записи
  4. Шаг 3. NS у регистратора
  5. Шаг 4. Режим SSL
  6. Шаг 5. Настройки HTTPS
  7. Типичные ошибки
  8. Как это устроено в Kesyio
  9. Вопросы и ответы
  10. Итог

Что даёт Cloudflare и зачем он сайту

Cloudflare встаёт между посетителем и вашим сервером. Запросы идут не напрямую на IP сервера, а через сеть Cloudflare. Даже на бесплатном тарифе это даёт сайту четыре вещи.

Быстрый DNS

Изменения записей применяются за секунды, а не за часы, как у многих регистраторов.

Бесплатный SSL

Сертификат для посетителей выпускается и продлевается автоматически.

Кэш и доставка статики

Картинки, стили и скрипты отдаются с ближайшего к посетителю узла и грузятся быстрее.

Скрытый IP и защита от DDoS

Атакующий видит адреса Cloudflare, а не ваш сервер.

Домен при этом остаётся у вашего регистратора. Меняются только NS-серверы, то есть адреса, которые отвечают на вопрос «где находится этот домен».

1Добавляем домен в Cloudflare

Сначала скриншот записей

Если на домене есть почта, заранее откройте текущие DNS-записи у регистратора и сохраните их скриншотом. Это страховка на случай, если Cloudflare при импорте что-то пропустит.

Зарегистрируйтесь на cloudflare.com и добавьте домен в разделе управления доменами. Вводите домен без www и без https://, например example.com. На шаге выбора тарифа бесплатного Free хватает для большинства сайтов.

Cloudflare просканирует текущие DNS-записи домена и предложит импортировать их. Не пропускайте следующий шаг: сканирование находит большинство записей, но не гарантирует, что найдёт все.

2Проверяем DNS-записи

Сверьте список со скриншотом записей у регистратора. Для обычного сайта с почтой нужны такие записи:

ТипИмяЗначениеПрокси
A@IP вашего серверавключён
A или CNAMEwwwIP сервера или example.comвключён
MX@почтовый сервер провайдеране применяется
TXT@SPF, например v=spf1 include:...не применяется

Оранжевое и серое облако

У записей A и CNAME есть переключатель прокси. Оранжевое облако (Proxied) означает, что трафик идёт через Cloudflare: работают кэш, SSL для посетителей и скрытие IP. Серое облако (DNS only) означает, что Cloudflare просто отвечает на DNS-запрос, а посетитель идёт напрямую на сервер.

Оранжевое облако: сайт идёт через прокси Cloudflare. Серое облако: Cloudflare только отвечает на DNS-запрос, почта и SSH идут напрямую на сервер Сайт: оранжевое облако (Proxied) Посетитель браузер Cloudflare кэш, SSL, скрытый IP Сервер сайт запрос через прокси Почта и SSH: серое облако (DNS only) Клиент почта, SSH Cloudflare только ответ DNS Сервер без прокси DNS-запрос напрямую на сервер
Для почты и SSH Cloudflare только отвечает на DNS-запрос, дальше соединение идёт напрямую на сервер.

Правило простое: сайт через прокси, оранжевое облако. А эти записи только DNS:

Почта: серое облако

Если у почтового сервера есть своя A-запись вроде mail.example.com, прокси для неё должен быть выключен, иначе почта перестанет доходить.

SSH и не-веб сервисы

Прокси Cloudflare на бесплатном тарифе пропускает веб-трафик, а не произвольные порты.

3Меняем NS у регистраторадо 24 ч

Cloudflare выдаст пару NS-серверов, например anna.ns.cloudflare.com и bob.ns.cloudflare.com. У каждого аккаунта своя пара, копируйте именно те, что показаны в вашей панели.

В панели регистратора найдите раздел DNS-серверов домена, удалите старые NS и укажите две новые записи.

Сначала выключите DNSSEC

Если у регистратора включён DNSSEC, выключите его до смены NS. Старые записи DNSSEC - одна из самых частых причин, по которым зона в Cloudflare надолго зависает в статусе «Pending Nameserver Update».

Дальше ждём. Регистратору нужно до 24 часов, чтобы опубликовать новые NS, хотя обычно это происходит быстрее.

Проверка

Когда Cloudflare увидит делегирование, статус домена сменится на Active и придёт письмо.

4SSL: выбираем правильный режим

Здесь новички ошибаются чаще всего. У Cloudflare два участка соединения: от посетителя до Cloudflare и от Cloudflare до вашего сервера. Режим SSL определяет, как шифруется второй участок.

Два участка соединения: в режиме Flexible участок от Cloudflare до сервера идёт по HTTP, в режиме Full (strict) по HTTPS с проверкой сертификата Flexible между Cloudflare и сервером данные не шифруются Посетитель видит замок Cloudflare прокси Сервер нет сертификата HTTPS HTTP открытый текст Full (strict) рекомендуемый режим Посетитель видит замок Cloudflare прокси Сервер действительный сертификат HTTPS HTTPS с проверкой
Режим SSL меняет только второй участок: в Flexible он не шифруется, в Full (strict) шифруется с проверкой сертификата.
РежимПосетитель - CloudflareCloudflare - серверКогда подходит
Offбез шифрованиябез шифрованияне использовать
FlexibleHTTPSHTTP, без шифрованиятолько если на сервере нет сертификата
FullHTTPSHTTPS, сертификат не проверяетсявременно, при переходе на Full (strict)
Full (strict)HTTPSHTTPS, сертификат проверяетсярекомендуемый режим

Cloudflare сам рекомендует Full (strict) везде, где это возможно.

Замок в браузере ещё не защита

В режиме Flexible посетитель видит замок, но между Cloudflare и сервером данные идут открытым текстом, включая пароли от админки.

Сертификат на сервере: два бесплатных варианта

Для Full (strict) на сервере нужен действительный сертификат.

Let's Encrypt через Certbot

Сертификат выпускается на сервере и продлевается автоматически. Как это сделать, мы разобрали в инструкции как развернуть WordPress на своём сервере.

Origin CA-сертификат Cloudflare

Выпускается в панели Cloudflare в разделе SSL/TLS, срок действия выбирается при выпуске. Доверенный только для Cloudflare, поэтому при отключении прокси браузер покажет ошибку.

Cloudflare не присылает уведомлений об истечении Origin CA-сертификатов, срок нужно отслеживать самим.

Проверка

Выпустили сертификат на сервере - переключайте режим на Full (strict) и проверяйте, что сайт открывается.

5Настройки на один вечер

Базовый набор, который стоит включить сразу после активации.

Не кэшируйте админку

По умолчанию Cloudflare кэширует статику по расширениям файлов и не кэширует HTML, это безопасная настройка. Если позже включите кэширование страниц правилами кэша, исключите из него /wp-admin и страницы входа.

Реальный IP посетителя на сервере

После включения прокси в логах сервера все запросы приходят с адресов Cloudflare. Настоящий IP посетителя Cloudflare передаёт в заголовке CF-Connecting-IP.

Чтобы сервер и WordPress видели реальные адреса, в Nginx используют модуль real_ip со списком адресов Cloudflare с официальной страницы cloudflare.com/ips. Без этого ограничение попыток входа по IP и статистика на сервере работают неправильно.

Типичные ошибки и как их исправить

ERR_TOO_MANY_REDIRECTS

Режим Flexible, а сервер или WordPress перенаправляет на HTTPS: Cloudflare идёт на сервер по HTTP, сервер отправляет на HTTPS, и так по кругу.

Сертификат на сервере и режим Full (strict)

521 Web server is down

Cloudflare не может подключиться к серверу.

Проверьте, что веб-сервер запущен и файрвол на сервере не блокирует порты 80 и 443

522 Connection timed out

Сервер не ответил вовремя.

Чаще всего это перегрузка сервера или неверный IP в A-записи

525 SSL handshake failed

Режим Full или Full (strict), но на сервере не настроен HTTPS.

Выпустите сертификат или временно переключитесь на Flexible, пока его настраиваете

526 Invalid SSL certificate

Режим Full (strict), но сертификат на сервере просрочен, самоподписан или выпущен на другой домен.

Перевыпустите сертификат

Неделю в статусе Pending

Указаны не те NS (у каждого аккаунта своя пара) или у регистратора остались записи DNSSEC.

Сверьте NS и выключите DNSSEC, см. шаг 3

Перестала приходить почта

При импорте потерялась MX-запись или A-запись почтового сервера ушла через прокси.

Сверьте записи со скриншотом, который сохранили в начале

Как это устроено в Kesyio

Kesyio

Большую часть рутины платформа делает сама

Вы один раз подключаете аккаунт Cloudflare ключом API, а при добавлении домена Kesyio:

  1. создаёт зону домена в вашем аккаунте Cloudflare;
  2. добавляет записи A для корня домена и www на IP вашего сервера, через прокси;
  3. включает принудительный HTTPS для посетителей и сбрасывает кэш;
  4. показывает пару NS-серверов, которые остаётся указать у регистратора.

Домен и аккаунт Cloudflare остаются вашими, Kesyio работает через их API. Посмотреть, как это выглядит.

Вопросы и ответы

Cloudflare бесплатный?

Бесплатный тариф включает DNS, прокси с кэшем, SSL-сертификат для посетителей и защиту от DDoS-атак. Для сайта-визитки, блога или небольшого проекта его хватает. Платные тарифы нужны ради расширенных правил безопасности, оптимизации изображений и поддержки.

Нужно ли переносить домен к Cloudflare?

Нет. Для подключения достаточно сменить NS-серверы, домен остаётся у текущего регистратора. Перенос регистрации в Cloudflare Registrar - отдельная необязательная операция.

Нужен ли SSL-сертификат на сервере, если есть Cloudflare?

Да, если вы хотите шифровать весь путь данных. Без сертификата на сервере доступен только режим Flexible, в котором участок от Cloudflare до сервера не шифруется. Сертификат Let's Encrypt бесплатный и продлевается сам.

Cloudflare замедляет сайт?

Обычно наоборот: статика отдаётся с ближайшего узла, а DNS отвечает быстро. Замедление бывает, когда сервер далеко от ближайшего узла Cloudflare для посетителя, но на практике это редкость.

Сколько ждать, пока домен заработает через Cloudflare?

Смена NS у регистратора занимает до 24 часов. После активации домена изменения DNS-записей внутри Cloudflare применяются за секунды.

Итог

  • Подключение домена к Cloudflare - это пять шагов: добавить домен, проверить DNS-записи, сменить NS, выбрать режим SSL и включить базовые настройки HTTPS.
  • Больше всего нервов экономит выключенный прокси для почтовых записей.
  • И режим Full (strict) с настоящим сертификатом на сервере вместо Flexible.