Что такое Cloudflare и как он работает: зачем нужен, как пользоваться, варианты бесплатного применения
Cloudflare — компания, которая предоставляет услуги CDN, DNS, защиту от DDOS, кеширование контента, SSL-сертификаты и многое другое. Официальный сайт — cloudflare.com. У этого сервиса есть бесплатный тариф, который тем не менее имеет обширный функционал. В этой статье разберем настройку, подключение и основные лайфхаки использования Cloudflare — все, что можно получить бесплатно. У сайта Cloudflare нет русского или украинского интерфейса, — еще один стимул для скептиков изучить английский.
Как работает Cloudflare
Cloudflare пропускает все запросы к сайту через свои сервера. «Плохие» запросы (разные боты и запросы, попадающие под ограничения файервола) фильтруются. «Хорошие» запросы — допускаются к сайту.
Есть несколько вариантов ограничения доступа к сайту с помощью Cloudflare:
- Allow — доступ разрешен, ограничения не применяются.
- Block — блокировать запрос.
- Bypass — отключить проверку запроса от Cloudflare.
- JS Challenge — проверка браузера на исполнение JavaScript. Если браузер проходит проверку, доступ разрешается. Этот способ отсекает многих ботов, как полезных, так и вредных.
- Legacy CAPTCHA — показать капчу.
- Managed Challenge — Cloudflare сам определяет, какое ограничение применить из перечисленных выше.
Кроме того Cloudflare умеет кешировать статические файлы на своих серверах, сжимать JavaScript, CSS, Html. И все это бесплатно.
Есть еще одна интересная и очень полезная для SEO функция — настройка редиректов (301 и 302) для тех или иных url. Это дает некоторые преимущества, которые подробно разберем ниже.
Стоит также отметить, что настройка всех правил Cloudflare довольно гибкая в том плане, что позволяет применять их не только ко всему сайту, но и к конкретным страницам, разделам, поддоменам и т.д. Поддерживаются регулярные выражения.
Как добавить свой сайт в Cloudflare и его настройка
Регистрируемся в сервисе, и в интерфейсе находим кнопку «Add site»
Вводим свой домен, и нажимаем «Add site».
Выбираем тарифный план «Free», т.е. бесплатно.
Далее Cloudflare сканирует наши настройки домена (DNS) и показывает, что можно запроксировать. Везде, где возможно, ставим статус «Proxied» (оранжевое облачко).
На следующем шаге необходимо изменить нейм-сервера (NS) на те, которые предложит Cloudflare.
Делается это в панели управления доменом (там, где его регистрировали). Если на этом шаге возникают сложности, можно обратиться в техподдержку регистратора, там подскажут решение, т.к. скорее всего это частый запрос.
Далее нажимаем «Done, check nameservers» (даже если NS еще не обновились), и переходим к начальным настройкам.
Они состоят из 3 этапов:
- Improve security.
- Optimize performance.
- Summary.
Improve security
Это настройки https:
- Automatic HTTPS Rewrites — везде, где возможно использовать https. Помогает решить проблему смешанного контента: если элемент (например, картинка) вставляется на страницу через http (указан полный путь через http), то будет произведена перезапись на https (при условии, что https поддерживается).
- Always use HTTPS — это классический 301 редирект со всех http страниц на https. Стандартная сеошная рекомендация.
Optimize performance
Состоит из 2 пунктов:
- Auto Minify — минимизация JavaScript, CSS и HTML путем удаления комментариев, лишних пробелов, переносов строк и т.д.
- Brotli — ускоряет загрузку https страниц путем их сжатия.
Summary
Проверка введенных параметров и их сохранение.
Все, добавление сайта на Cloudflare и его начальная настройка завершены.
SSL от Cloudflare
После добавления сайта на Cloudflare, ему автоматом выдается SSL-сертификат. Посмотреть его подробности можно в панели управления по такому пути: SSL/TLS — Edge Certificates.
Какой-то особой настройки не требуется, все продлевается автоматически. Там же можно настроить редиректы c http на https (если это не сделано ранее), выставить режим шифрования и некоторые другие функции. Все, что там выставлено по умолчанию — вполне рабочая схема, которая подойдет большинству сайтов.
А как же логи сервера…
Для SEO важно анализировать логи сервера. С этим связана одна проблема: в логах сайта под Cloudflare будут не реальные ip посетителей и ботов, а ip серверов Cloudflare.
Для регистрации реальных ip необходимо выполнить настройку сервера, которая описана в документации. Обычно на современных виртуальных хостингах это реализовано по умолчанию. Если же в логах видно только ip серверов Cloudflare, необходимо обратиться в техподдержку.
Если проект на VPS или выделенном сервере, то по ссылке инструкция по настройке от Cloudflare: https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs
Как отключить Cloudflare
В панели управления есть несколько режимов, которые отключают функции Cloudflare в той или иной степени:
Development Mode — полностью отключает кеширование, удобно для разработчиков при внесении изменений на сайт.
Pause Cloudflare on Site — полностью останавливает все функции Cloudflare, но сайт находится на их NS.
Remove Site from Cloudflare — удаление сайта из Cloudflare, необходимо будет прописать другие актуальные NS (не от Cloudflare).
Как сбросить кеш в Cloudflare
Чтобы сбросить кеш, в панели управления находим кнопку «Purge Cache»
Полный путь: Caching — Configuration
При ее нажатии попадаем в панель настройки кеша, там есть несколько вариантов с подробным описанием (на английском). За очистку кеша отвечает раздел «Purge Cache»:
- Custom Purge — очистка кеша конкретной страницы (например, картинки или файла css).
- Purge Everything — очистка кеша всего сайта.
Рабочие лайфхаки и примеры использования Cloudflare
Приведем рабочие примеры и схемы, как можно бесплатно с помощью Cloudflare решить некоторые задачи.
301 редирект с одного домена на другой
Или другими словами — подклейка дропа. Cloudflare позволяет нам сделать нужные редиректы без покупки хостинга. Ушли в прошлое дропы, в папке сайта которых лежал один-единственный файл htaccess.
Как подклеить дроп с помощью Cloudflare
В панели выбора инструментов заходим Rules — Page Rules, и нажимаем на кнопку «Create Page Rule»
Заполняем появившуюся форму:
- URL (required) — откуда делаем редирект. Поддерживает регулярные выражения, в т.ч. «звездочки» — *. Значение такое же, как и в синтаксисе файла robots.txt. Т.е. * — любые символы. Таким образом, чтобы сделать редирект со всех страниц дропа (включая поддомены), нужно указать: *.site.com/*
- Pick a Setting (required) — в выпадающем списке выбираем «Forwarding URL».
- Select status code (required) — выбираем 301 редирект.
- Enter destination URL (required) — сюда копируем url, куда подклеиваем дроп.
Сохраняем — готово. Нужно отметить, что в бесплатном тарифе есть возможность указать максимум 3 подобных правила. Т.е. если необходимо сделать до 3 редиректов с разных групп страниц дропа на разные url, то это вполне возможно сделать бесплатно и без покупки хостинга.
Сам себе админ: настраиваем файервол в Cloudflare самостоятельно
Иногда бывает так, что сайт периодически создает на хостинг значительную нагрузку, при этом в аналитике притока трафика не наблюдается. Особенно это актуально для сайтов СМИ, порталов, крупных контентных проектов, интернет-магазинов с большим ассортиментом и т.д. Часто это объясняется большим количеством ботов, которые парсят сайт с различными целями (кто-то ворует тексты, кто-то сверяет цены и т.д.). Подавляющее большинство таких ботов не несут ценности для продвигаемого проекта.
Благодаря 3 простым правилам в Cloudflare можно сильно усложнить работу таким ботам. Переходим в Security — WAF, и нажимаем «Create firewall rule».
Разрешаем доступ к сайту полезным ботам
Это боты поисковых систем и некоторые другие. Как они определяются, и их список можно посмотреть в документации https://radar.cloudflare.com/verified-bots
Для этого:
- В поле «Field» выбираем «Known Bots»
- Choose an action — Allow
Небольшое примечание: Cloudflare почему-то не считает полезными ботов некоторых мессенджеров и сервисов. Экспериментальным путем удалось выяснить, что среди них Telegram и Disqus. Это может вызвать определенные неудобства, когда пользователи делятся ссылкой в этом мессенджере. Ссылка в Телеграме будет без аннотации — не подгрузится разметка OG (картинка и описание).
В случае с Disqus могут быть проблемы с отображением комментариев этой системы. Но если Disqus на сайте не используется, то это не важно.
Чтобы добавить данных ботов в исключения, нужно дописать всего несколько строк в указанное выше правило. Нажимаем «Or»
Для Телеграма:
- Field — User Agent
- Operator — equals
- Value — TelegramBot (like TwitterBot)
Для Disqus:
- Field — User Agent
- Operator — equals
- Value — TelegramBot dproxy/1.0 (+https://disqus.com/humans.txt)
Сохраняем, первое правило готово.
Проверка тех, кто подключается к http
Не будем тут рассказывать о том, почему ssl-сертификат очень важен, возьмем это в качестве обязательного условия. Для дальнейшей настройки нам важно сделать эту проверку.
Опять нажимаем «Create firewall rule», и вводим там такие данные:
- Field — SSL/HTTPS
- Operator — equals (он не активен)
- Value — ползунок отключен
- Choose an action — JS Chellenge
Общий смысл этого правила: при обращении к сайту по http происходит проверка браузера на JS. Если все ок, то происходит 301 редирект на https.
Оставляем только HTTP/2 и выше, остальным — страдать
Создаем новое правило — «Create firewall rule»
- Field — HTTP Version
- Operator — is not in
- Value — HTTP/2, HTTP/3, SPDY/3.1
- Choose an action — JS Chellenge
«Плохие» боты чаще всего идут через HTTP/1.0 и HTTP/1.1, их данное правило и отсекает. Есть небольшой нюанс: протокол HTTP/2 и выше не поддерживается некоторыми очень старыми браузерами. В зависимости от ниши, их может быть до нескольких процентов. Со временем это число будет стремиться к нулю. Однако в этих браузерах не будет работать и половина JS современного интернет-магазина, поэтому есть смысл этим пренебречь.
В этих трех правилах крайне важна последовательность:
- Пропускаем «хороших» ботов.
- Проверяем https
- Проверяем HTTP/1
Если что-то поменять местами, можно отсечь ботов поисковых систем, или получить другие неприятные последствия. Если все сделано правильно, то скорее всего нагрузка на хостинг значительно уменьшится. Особенно это касается посещаемых сайтов и порталов.
В дальнейшем эту простую анти-DDOS систему можно усовершенствовать, добавляя в исключения какие-то IP, User Agent, гео и т.д., или наоборот их напрямую блокируя.
В заключение
За последнее время Cloudflare оброс большим количеством дополнительных сервисов и полезных инструментов. По некоторым исследованиям, до трети интернет-трафика проходит через сервера Cloudflare. Вполне возможно, что скоро наступит такой момент, когда этот сервис станет настольным для специалистов многих направлений. По крайней мере вебмастера его уже давно активно используют.

Автор статьи: Петросюк Богдан
Занимаюсь продвижением сайтов с 2012 года. Автор более 350 статей о маркетинге. Скилы в маркетинге: SEO, PPC, разработка сайтов, сервисов, контента. Люблю проводить эксперименты и делиться полезными и рабочими схемами.