Cloudflare воспринимают как «тот сервис, который ускоряет сайт и защищает от DDoS». Подключил — иконка в браузере стала другой, сайт вроде работает быстрее. На этом знания заканчиваются.
На деле Cloudflare — платформа, которая давно вышла за рамки CDN. У них 310+ точек присутствия по всему миру, через их сеть проходит около 20% всего интернет-трафика. Это значит, что у них накоплена инфраструктура, которую мало кто может позволить себе строить самостоятельно.
Поговорим о том, чем Cloudflare реально полезен — помимо кэширования статики.
DNS с защитой на уровне сети
Когда переносишь домен на Cloudflare DNS, получаешь не просто быстрый резолвинг. Cloudflare скрывает реальный IP твоего сервера за своей сетью — это называется проксирование (оранжевое облачко в панели). Атаки идут на Cloudflare, а не на твой VPS.
DNS у них реально быстрый. По данным DNSPerf, Cloudflare стабильно держится в топ-3 по скорости резолвинга в мире — медиана около 10–14 мс глобально.
Ещё один плюс: DNS-записи с TTL от 1 минуты. При миграции или аварии можно переключить трафик между серверами за считанные минуты, не ждать часами, пока обновятся записи у провайдеров.
WAF — файрвол для веб-приложений
WAF (Web Application Firewall) фильтрует HTTP-трафик до того, как он доходит до твоего сервера. Cloudflare WAF работает на уровне их сети — плохой запрос блокируется ещё до того, как сервер его обработал.
Что блокирует:
- SQL-инъекции
- XSS-атаки
- Попытки обхода аутентификации
- Сканирование уязвимостей (боты типа Nuclei, sqlmap)
- Эксплуатацию известных CVE
В бесплатном плане есть базовые управляемые правила. В Pro ($20/мес) подключается расширенный набор правил OWASP и Cloudflare Managed Rules — это уже серьёзная защита для большинства проектов.
Можно писать свои правила. Например, заблокировать все запросы из определённой страны или пропускать только трафик с нужными заголовками. Синтаксис простой, есть визуальный редактор.
Пример кастомного правила:
(http.request.uri.path contains "/wp-admin" and ip.geoip.country ne "RU")
Блокирует доступ к админке WordPress для всех, кроме России. Грубо, но работает.
Cloudflare Workers — serverless прямо на сети
Workers — это serverless-платформа, которая выполняет JavaScript прямо на узлах Cloudflare. Твой код работает на сервере, ближайшем к пользователю — без холодного старта, без регионального деплоя.
Что можно делать:
- Модифицировать запросы и ответы на лету (A/B тесты, персонализация)
- Делать edge-прокси с кастомной логикой
- Обрабатывать webhooks
- Генерировать динамические OG-изображения
- Реализовывать rate limiting со сложной логикой
- Строить лёгкие API без сервера
Бесплатный план: 100 000 запросов в день. Платный ($5/мес) — 10 миллионов запросов в месяц, после — $0.50 за миллион. Дешевле, чем AWS Lambda или Vercel Edge Functions при сопоставимой нагрузке.
Пример Worker, который добавляет security headers к любому ответу:
export default {
async fetch(request) {
const response = await fetch(request);
const newResponse = new Response(response.body, response);
newResponse.headers.set('X-Frame-Options', 'DENY');
newResponse.headers.set('X-Content-Type-Options', 'nosniff');
newResponse.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
return newResponse;
}
}
Деплоится командой wrangler deploy. Работает глобально через 30 секунд.
Cloudflare Pages — хостинг для фронтенда
Pages — конкурент Vercel и Netlify. Подключаешь GitHub/GitLab репозиторий, настраиваешь команду сборки, и Cloudflare сам деплоит при каждом пуше.
Что включено бесплатно:
- Неограниченные сайты
- 500 сборок в месяц
- Кастомные домены с SSL
- Preview-деплои для пулл-реквестов
- Интеграция с Workers (Functions)
Скорость раздачи статики через Pages — одна из лучших на рынке, потому что файлы живут прямо в сети Cloudflare, без отдельного CDN поверх. Для React, Vue, статического сайта на Hugo или Astro — реально хороший вариант. Бесплатно и быстро.
R2 — объектное хранилище без платы за трафик
R2 — S3-совместимое хранилище. API такой же, как у Amazon S3, можно использовать те же SDK. Но есть ключевое отличие: исходящий трафик бесплатный.
У AWS S3 платишь за каждый гигабайт, который скачивают пользователи. Если сайт с медиа-контентом и большим трафиком — это выходит в серьёзные деньги. R2 берёт только за хранение ($0.015/ГБ/мес) и операции записи, а раздача — бесплатно.
Для кого это важно:
- Сайты с видео или большими файлами для скачивания
- Бэкапы, которые нужно хранить и иногда восстанавливать
- Хранение медиа для пользовательских загрузок
Ограничение: нет такого же гибкого географического распределения данных, как у AWS. Но для большинства проектов это не критично.
Cloudflare Tunnel — безопасный доступ без открытых портов
Tunnel позволяет опубликовать локальный сервис в интернете без открытия портов на файрволе. Устанавливаешь cloudflared на сервер, он устанавливает зашифрованный туннель к Cloudflare, и трафик идёт через него.
Зачем это нужно:
- Публикация сервиса, который за NAT или у провайдера без белого IP
- Не нужно открывать 80/443 порт напрямую
- Можно спрятать реальный IP сервера
- Быстрый деплой для демо-стендов
Команда для запуска туннеля:
cloudflared tunnel --url http://localhost:3000
Через несколько секунд получаешь публичный HTTPS-адрес. Удобно для разработки и демонстрации клиентам — именно так мы в REEXY часто показываем промежуточные версии проектов без поднятия отдельного staging-сервера.
Zero Trust Access — контроль доступа к внутренним инструментам
Бесплатно до 50 пользователей. Zero Trust Access позволяет закрыть любой URL за аутентификацией — через Google, GitHub, email OTP, SAML.
Практический сценарий: у тебя есть внутренний дашборд, Grafana или staging-среда. Не хочешь делать его публичным и городить VPN. Настраиваешь Access — и к нему пускают только после входа через корпоративный Google-аккаунт.
Пользователь заходит по обычному URL, его редиректит на страницу входа, после аутентификации — пропускают. Никакого VPN, никаких сложных конфигураций на клиентских машинах.
Rate Limiting — защита API от перебора
Встроенный rate limiting работает на уровне правил. Можно ограничить количество запросов к конкретному endpoint по IP, по кукам, по заголовкам.
Пример: ограничить /api/login до 5 запросов в минуту с одного IP. Превысил — получает 429, можно показать капчу или заблокировать на час.
Это особенно важно для форм входа, API авторизации, endpoint-ов регистрации. Перебор паролей становится нерентабельным даже без сложной логики на стороне сервера.
В бесплатном плане — 1 правило rate limiting. В Pro и выше — без ограничений по количеству правил.
Analytics без JavaScript-трекера
Cloudflare Analytics собирает данные о трафике на уровне сети — без скрипта на странице, без cookies. Это значит:
- Блокировщики рекламы не мешают
- GDPR-проблем меньше — нет передачи данных третьим сторонам
- Видишь реальный трафик, включая ботов
Данные: запросы, уникальные пользователи, страны, статус-коды, кэш-хиты. Не так подробно, как Google Analytics, но для технического мониторинга достаточно.
Есть ещё Cloudflare Web Analytics — легковесный трекер без кук, бесплатная альтернатива GA с простым интерфейсом. Если нужна аналитика поведения без данных в Google — хороший вариант.
Типичный стек на Cloudflare для небольшого проекта
Как это всё собирается вместе:
- DNS + CDN + WAF — базовая защита и ускорение, бесплатно
- Workers — лёгкая API-логика или edge-middleware
- Pages — хостинг фронтенда
- R2 — хранение медиафайлов
- Tunnel — доступ к бэкенду без открытых портов
Всё это можно собрать бесплатно или за $5–20 в месяц. Это полноценная инфраструктура для стартапа или небольшого продукта — без отдельных контрактов с AWS, GCP и прочими.
Что не так хорошо
Честно про минусы.
Кэширование может подводить. По умолчанию Cloudflare кэширует агрессивно, и иногда пользователи видят старую версию страницы после деплоя. Нужно настраивать Cache-Control заголовки и знать, когда чистить кэш вручную.
Debugging сложнее. Когда между пользователем и сервером стоит Cloudflare, отлаживать проблемы труднее. Нужно уметь читать заголовки типа CF-Cache-Status и CF-Ray, понимать, где именно упало.
Vendor lock-in для Workers. Workers API немного отличается от стандартного Node.js. Если написал много логики на Workers — мигрировать куда-то ещё будет больно.
Geo-blocking работает не идеально. База геолокации не всегда точна, особенно для мобильных сетей и VPN-пользователей.
Платные планы дорожают. Pro — $20/мес за домен. Если доменов 10 — это $200/мес. Для студии с большим портфолио накапливается.
С чего начать
Если ещё не используешь Cloudflare — начни с малого: перенеси DNS, включи проксирование, посмотри на WAF-аналитику за неделю. Уже это покажет, что происходит с трафиком на твоём сайте и сколько мусора прилетает.
Дальше — по потребности. Если есть локальный сервис без белого IP — попробуй Tunnel. Если нужна защита форм от перебора — настрой rate limiting. Если хочешь убрать JavaScript-трекер — переключись на Cloudflare Analytics.
Многие функции бесплатны. Попробовать — ничего не стоит.