Войти
Cloudflare Worker

Клоака на Cloudflare Worker: фильтр без файлов на хостинге

Worker выполняется на серверах Cloudflare до того, как запрос дойдёт до вашего хостинга. Решение white или offer принимается там же, а на сервере нет ни лоадера, ни модулей, ни кода клоаки. Разбираем, как это устроено, какие лимиты у Workers и что настроить в Cloudflare, чтобы кэш не сломал фильтрацию.

Обновлено 22 сентября 20265 мин чтения829 словBoostRouter KLO

Обычная клоака живёт на хостинге: PHP-лоадер рядом с лендингом, плагин в WordPress, модуль в трекере. У такого подхода есть слабое место: файлы фильтра лежат на сервере, их видно в исходниках, а любая ошибка хостинга отключает защиту. Cloudflare Worker переносит решение на границу сети. Запрос посетителя сначала попадает на серверы Cloudflare, там выполняется небольшой скрипт, он получает решение от KLO и отдаёт white или offer. До хостинга запрос доходит уже с готовым решением или не доходит вовсе.

Как работает Worker перед сайтом

По документации Cloudflare, маршруты Workers добавляют функциональность к уже проксируемым через Cloudflare доменам, перед вашим сервером приложений. Worker выступает как прокси и может выполнить любую работу до обращения к серверу за Cloudflare, а вызов fetch() внутри Worker отправляет подзапрос на сервер, указанный в DNS вашей зоны. Для маршрута нужны активная зона Cloudflare, сам Worker и DNS-запись домена, проксируемая через Cloudflare, то есть с включённым оранжевым облаком.

Для клоаки это означает следующую цепочку.

  1. Посетитель открывает адрес из объявления. DNS ведёт на Cloudflare.
  2. Worker на маршруте ваш-домен/* получает запрос вместе с IP посетителя, заголовками и параметрами.
  3. Worker запрашивает решение у KLO. Среднее время решения меньше 50 миллисекунд.
  4. По ответу Worker отдаёт white или offer: забирает нужную страницу с хостинга или с другого адреса и возвращает её посетителю под тем же URL.

На хостинге при этом нет PHP-файлов, модулей и кода клоаки. Именно так интеграция описана у KLO: «Посетитель → Cloudflare Worker → White / Offer», хостинг клиента без файлов КЛО. Она не зависит от CMS и технологии сайта: сзади может быть WordPress, статический лендинг, приложение на Node.js или трекер.

Лимиты Workers, которые важны для трафика

Cloudflare публикует лимиты планов. На бесплатном плане Workers Free это 100 000 запросов в день и 10 миллисекунд процессорного времени на запрос, на платном Workers Paid лимита на количество запросов нет, процессорное время до 5 минут. Память 128 МБ в обоих случаях, подзапросов 50 на запрос у Free и 10 000 у Paid.

Документация Cloudflare Workers: лимиты планов, Free 100 000 запросов в день и 10 мс CPU, Paid без лимита запросов и 5 минут CPU
Cloudflare: лимиты Workers Free и Workers Paid.

Что из этого следует. Для тестов и небольших кампаний бесплатного плана хватает: 100 000 запросов в день это не только клики по рекламе, но и все запросы к домену, включая картинки и скрипты, если они проходят через маршрут Worker. Для серьёзных объёмов нужен платный план Workers, он стоит отдельно от подписки на фильтр. Ограничение на процессорное время не мешает: запрос решения у KLO это сетевое ожидание, а не вычисления, и в 10 миллисекунд CPU он укладывается.

Что настроить в Cloudflare

  • Проксирование. DNS-запись домена связки должна быть проксируемой, с оранжевым облаком. Иначе маршрут Worker не сработает.
  • Кэш HTML. Правила кэширования не должны кэшировать HTML входных адресов. Иначе первое решение для первого посетителя запомнится на границе и будет отдано всем. Статику, картинки и скрипты кэшировать можно.
  • Реальный IP. Worker видит IP посетителя в заголовке CF-Connecting-IP, и KLO получает именно его. На хостинг при этом приходит IP Cloudflare, поэтому логика на сервере не должна принимать решений по IP: решение уже принято в Worker.
  • Bot Fight Mode и челленджи. Если включены, Cloudflare может показать проверку части реальных посетителей и части роботов. Роботы проверки рекламы, которым вы хотите отдать white, должны доходить до Worker, а не упираться в капчу Cloudflare с непредсказуемым результатом.

Подключение в KLO

Интеграция через Cloudflare Worker входит в тариф DOMINATION. В кабинете KLO выбирается тип подключения Cloudflare Worker, кабинет показывает готовый код и параметры, установка автоматическая. Дальше правила кампании те же, что и при любом другом подключении: источник, страны, устройства, требование метки клика, адреса white и offer, прогрев. Правила по источникам мы разобрали отдельно: Facebook, Google Ads, TikTok, Яндекс Директ, VK Реклама.

Кабинет KLO, шаг 2 мастера: Cloudflare Worker помечен как доступный на тарифе DOMINATION
Шаг 2 мастера на пробном тарифе: Cloudflare Worker подсвечен как опция DOMINATION.

Когда Worker лучше PHP-лоадера, а когда нет

СитуацияЧто выбрать
Хостинг без PHP, статический сайт, приложение на Node.js или конструкторWorker: не зависит от технологии сайта
Нужно, чтобы на сервере не было следов фильтраWorker
Много доменов на одном аккаунте CloudflareWorker: один код, маршруты на каждый домен
Домен нельзя проксировать через Cloudflare, например из-за требований гео к IPPHP-лоадер или плагин
Трекер Keitaro уже ведёт трафикМодуль Keitaro, а Worker как дополнительный слой на домене white
Большие объёмы и нежелание платить за Workers PaidPHP-лоадер на своём сервере

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

Что такое клоака на Cloudflare Worker

Фильтр, который выполняется на серверах Cloudflare до вашего хостинга. Worker на маршруте домена получает запрос, запрашивает решение у KLO и отдаёт white или offer под тем же адресом. На хостинге файлов клоаки нет.

Нужен ли платный план Cloudflare

Для Worker нужна зона Cloudflare с проксируемым доменом; сама зона может быть бесплатной. Workers Free даёт 100 000 запросов в день, для больших объёмов нужен Workers Paid без лимита запросов.

Видит ли Worker реальный IP посетителя

Да, в заголовке CF-Connecting-IP, и именно он передаётся в KLO для решения.

Что будет с кэшем Cloudflare

HTML входных адресов кэшировать нельзя, иначе решение фильтра запомнится на границе и будет отдано всем. Статику кэшировать можно.

В каком тарифе KLO есть Cloudflare Worker

В DOMINATION. В START и PROFIT доступны PHP-лоадер, SDK, JS-фильтр, Keitaro и WordPress.

Проверьте связку на своём трафике

KLO отсеивает ботов, модераторов и фрод до показа оффера. Пробный период 3 дня с полным функционалом тарифа START, карта не нужна.

Начать бесплатно

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

ВСЕ

Все гайды по клоакингу

Пятнадцать материалов по источникам трафика, интеграциям и базовым вещам: белая страница, проверка связки, цены.