Перейти к содержанию
Innovialabs

Cloudflare: проксирование или только DNS — когда включать облако

Практика3 мин

Коротко

Включайте проксирование (оранжевое облако) для веб-трафика сайта — так вы скрываете IP сервера и получаете кэш, WAF и защиту от DDoS; почту, SSH, базы данных и другие не-HTTP сервисы оставляйте DNS-only, а режим SSL ставьте Full (strict).

Коротко: в чём разница

У каждой A, AAAA и CNAME-записи в Cloudflare есть переключатель:

  • Proxied (оранжевое облако) — DNS отдаёт посетителю IP-адреса Cloudflare, а не вашего сервера. Весь трафик идёт через сеть Cloudflare, и только потом — на origin.
  • DNS only (серое облако) — Cloudflare работает как обычный DNS-сервер и отдаёт настоящий IP. Трафик идёт напрямую на сервер.

Правило простое: HTTP/HTTPS-трафик сайта — через прокси, всё остальное — DNS-only.

Что даёт проксирование

  • Скрытый IP origin-сервера. Атакующему сложнее ударить напрямую по серверу.
  • Кэширование. Статика (картинки, CSS, JS) отдаётся с ближайшего к посетителю узла Cloudflare. HTML по умолчанию не кэшируется — это включается отдельными правилами.
  • WAF и защита от DDoS. Фильтрация вредоносных запросов до того, как они дойдут до сервера.
  • SSL-терминация. Сертификат для посетителей выдаёт и обслуживает Cloudflare; соединение до origin настраивается отдельно.
  • Правила, редиректы, сжатие и другие функции, которые работают только для проксируемого трафика.

Ограничение: прокси понимает только HTTP и HTTPS, причём на определённом списке портов. Остальные протоколы через него не пройдут.

Какие записи оставить DNS-only

ЗаписьПочему без прокси
MX и хост почтового сервера (mail.example.com)Почта работает по SMTP/IMAP, прокси их не пропустит
SSH, FTP, SFTPНе HTTP-протоколы
Базы данных, игровые серверы, VPNНестандартные порты и протоколы
API на нестандартном портуПорт может не входить в поддерживаемый список
Записи для верификации у сторонних сервисовСервис часто проверяет, что CNAME указывает именно на него

Сами MX и TXT-записи проксировать нельзя — переключатель есть только у A, AAAA и CNAME. Но если MX указывает на mail.example.com, а эта A-запись проксирована, почта сломается.

Учтите: DNS-only запись, указывающая на тот же сервер, что и сайт, раскрывает его IP. Если важно скрыть origin, вынесите почту и прочие сервисы на отдельные адреса или используйте Cloudflare Tunnel для SSH.

Проблема 1: в логах только IP Cloudflare

После включения прокси сервер видит IP-адреса Cloudflare вместо посетителей. Ломаются логи, аналитика, лимиты по IP и блокировки. Реальный адрес приходит в заголовке CF-Connecting-IP (и в X-Forwarded-For). Для nginx:

# повторите для каждого диапазона из официального списка Cloudflare
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;

Доверяйте заголовку только от адресов Cloudflare — иначе любой сможет подставить чужой IP. Список диапазонов опубликован на сайте Cloudflare и иногда обновляется. В Apache то же делает модуль mod_remoteip, в приложениях — настройка trusted proxies фреймворка.

Проблема 2: бесконечный редирект

Ошибка ERR_TOO_MANY_REDIRECTS почти всегда возникает так: в Cloudflare выбран режим Flexible, а сервер перенаправляет HTTP на HTTPS. Cloudflare ходит на origin по HTTP, сервер отвечает «иди на HTTPS», браузер снова приходит в Cloudflare — и по кругу.

Решение — не убирать редирект на сервере, а установить на origin сертификат и переключить режим на Full (strict).

Как выбрать режим SSL

РежимПосетитель → CloudflareCloudflare → сервер
OffHTTPHTTP
FlexibleHTTPSHTTP, без шифрования
FullHTTPSHTTPS, сертификат не проверяется
Full (strict)HTTPSHTTPS, сертификат проверяется

Full (strict) — правильный выбор почти всегда. На сервер подойдёт бесплатный Cloudflare Origin CA сертификат (ему доверяет только Cloudflare, поэтому сайт должен оставаться проксированным) или сертификат Let's Encrypt. Flexible создаёт ложное ощущение безопасности: замок в браузере есть, а участок до сервера не зашифрован.

Чек-лист перед включением облака

  • Сайт работает по HTTPS на origin с валидным сертификатом.
  • Режим SSL — Full (strict).
  • Почтовые и служебные хосты — DNS-only.
  • Сервер восстанавливает реальный IP из CF-Connecting-IP.
  • Файрвол сервера при желании принимает веб-трафик только с диапазонов Cloudflare.

Частые вопросы

Да. Переключатель задаётся для каждой записи отдельно: например, www и корневой домен проксируются, а mail и ssh остаются DNS-only.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.