В этой статье рассмотрим пошаговое добавление домена под управление сервиса Cloudflare. Процесс регистрации, получение сертификата и настройка прочих услуг совсем несложный. Итак, давайте приступим.
Пошаговая инструкция
- Регистрируемся на Cloudflare.com. Просто вводим логин и пароль.
- Далее указываем свой домен, жмём на «Add site» и выбираем бесплатный (Free) или платный тариф.
- На следующем этапе появится таблица в которой вы можете выбрать какие IP или поддомены проксировать, а какие нет. Обычно Cloudflare создаёт правильные настройки записей, поэтому оставьте всё по умолчанию, вы всегда сможете вернуться к ним и отредактировать, если это будет необходимо. Записи «А» содержат только Ipv4 адреса, если сайт имеет Ipv6 адрес, то вместо этого будет использоваться запись «AAAA». Значок оранжевого облака означает, что подключение будет осуществляться через сервис Cloudflare. Серое облако «DNS only» означает, что соединение будет проводиться напрямую. Меняя статус иконки, вы можете произвести настройки. Включите Cloudflare для любого поддомена, который получает веб-трафик. Почта, FTP и SSH должны быть отмечены серым облаком. Помните, что письма, отправленные с вашего почтового сервера раскроют ваш истинный IP-адрес. Для удаления записи используйте значок «крестик».
- На следующем шаге вы должны изменить сервер имён (NS). Поменяйте их в панели регистратора вашего домена на предложенные Cloudflare. Это обязательный этап. Смена DNS серверов обычно занимает до 24 часов. Регистратор домена — это тот сервис, где вы покупали домен и под чьим управлением он сейчас и находится.
- Далее вам будут предложены быстрые первоначальные настройки. Включите автоматическую перезапись HTTPS и перенаправьте все запросы с http на https (если нет сертификата, то сделайте это позже).
- Если необходимо и если не используете плагины минификации кода, то можете включите «Auto Minify» для скриптов, CSS и HTML.
- Ускорьте время загрузки страницы применив сжатие Brotli. После этого обязательно проверьте как отображаются страницы, если появляются ошибки отображения, то по очереди отключайте тот или иной пункт. Последние две настройки всегда можно найти на вкладке «Speed > Optimization».
- На вкладке «Caching > Configuration > Caching Level» выберите уровень кэширования Standard.
- Установите время кэширования в «Browser Cache TTL». Все изменения, которые вы сделаете на сайте появятся у посетителей через указанный в этом пункте период.
- Первоначальная настройка закончена, теперь можете дождаться смены сервера имён.
Сравнение цен на продление доменов и что необходимо учесть при покупке домена
Настройка сертификата
- Не дожидаясь смены NS, приступим к настройке режима шифрования SSL/TLS. Нажмите соответствующую иконку меню Cloudflare и на открывшейся странице выберите необходимый режим. Если вашему сайту уже выдан SSL на хостинге, то выберите режим Full, при отсутствии SSL выбирайте Flexible. На этой же вкладке включите SSL/TLS Recommender. Вам будет отправлено письмо для решения проблем с функциональностью сайта или домена.
- Если вы выберите режим Full (strict), то вам также необходимо будет скачать и установить выданный сертификат Cloudflare на ваш хостинг для сквозного шифрования.
- На вкладке Edge Certificates установите Minimum TLS Version (Минимальная версия TLS) — 1.3. Включите также Opportunistic Encryption и TLS 1.3.
- Чтобы получать отчеты о выпуске нового сертификата включите также Certificate Transparency Monitoring.
- На вкладке Network включите HTTP/2, HTTP/3 (с QUIC) и 0-RTT Connection Resumption.
Включать ли Rocket Loader
Включенная функция Rocket Loader на вкладке «Speed > Optimization» значительно ускоряет загрузку страницы откладывая блокирующий обработку контента JavaScript. Поэтому рекомендуем включить данную настройку, но после этого следует проверить работу каждого скрипта. Например, в WordPress может перестать работать скрипт comment-reply.js отвечающий за ответы в комментариях. Но эту проблему можно решить добавлением атрибута data-cfasync="false" — <script data-cfasync="false" src="/javascript.js"></script>.
Пример добавления data-cfasync="false" через функцию WordPress.
function webkato_add_data_attribute( $tag, $handle, $src ) {
if ( 'comment-reply' !== $handle )
return $tag;
return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'webkato_add_data_attribute', 10, 3 );
Также Rocket Loader или любую другую функцию Cloudflare можно отключить для определённой страницы сайта создав правило на вкладке «Page Rules».
Пример:
Как использовать брандмауэр Clodflare для защиты сайта
1. Первым делом на вкладке брандмауэра отрегулируйте уровень безопасности исходя из потребностей. Если сайт подвергается атаке, то выбирайте «I’m Under Attack!». В этом случае все посетители будут сначала перенаправлены на страницу проверки безопасности, а затем на страницу сайта. Также замечено, что в этом режиме может не отображаться реклама Adsense при первом посещении страницы. Если же сайту ничего не угрожает, используйте уровень medium.
- High — оценка угрозы в баллах 0.
- Medium — оценка угрозы в баллах от 14.
- Low — оценка угрозы в баллах от 24.
- Essentially Off — оценка угрозы в баллах от 49.
2. Также при создании правил для брандмауэра можно установить специальное действие (action):
- Block — полная блокировка трафика.
- JS Challenge — посетители без JavaScript (в основном это боты) будут заблокированы.
- Challenge (Captcha) — посетителям будет предложено пройти капчу, после разгадывания которой он сможет посетить страницу.
- Allow — трафик разрешён.
3. При включенном режиме «под атакой» или проверке капчей в конце url будет автоматически добавляться параметр «__cf_chl…». Чтобы избежать дублей и не нагружать сервер, добавьте в файл robots.txt следующую директиву для роботов Яндекс:
Clean-param: __cf_chl_jschl_tk__
Clean-param:__cf_chl_captcha_tk__
4. Заблокировать трафик с определённой страны, по IP или по User Agent можно создав «Firewall Rule» или же перейти на вкладку «Tools», там заполнить соответствующие поля и выбрать действие для каждой строки.
5. Также можно блокировать по оценке угроз в баллах, установленных алгоритмами Cloudflare. Например:
6. Для защиты WordPress и входа в административную панель сайта используйте следующее выражение + действие Block:
((http.request.uri.path contains "/xmlrpc.php") or (http.request.uri.path contains "/wp-login.php") or (http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-admin/admin-ajax.php" and not http.request.uri.path contains " /wp-admin/theme-editor.php")) and ip.src ne 192.168.1.1
Где ip.src ne 192.168.1.1 — это ваш IP. Т.е. войти в административную панель сможете только вы или группа адресов, которые вы укажете в выражении, остальные будут заблокированы. Можно также запретить доступ для других стран и оставить только вашу страну — and ip.geoip.country ne "AT" — в этом примере доступ будет разрешён только из Австрии.
8. Для исключения из правил блокировки поисковых ботов используйте готовое выражение Known Bots (известные боты) — and not cf.client.bot. Если нужно исключить бота, которого нет в этом списке, то исключите его по User-Agent.
9. Можно также заблокировать полностью или установить капчу для прямых заходов или трафика из социальных сетей, в общем, для любого referer.
Чтобы установить капчу для прямого трафика, оставьте поле «Referer>equals» пустым. Но тут надо исключить всех известных ботов, а также правило может иногда сработать и для поискового трафика, особенно для посетителей из Яндекса, поэтому используйте эту настройку только в том случае, если поведенческий фактор действительно пострадал от ботов-накрутчиков.
Меняем DNS-сервер для безопасности и ускорения интернета
Избегаем проблем с доступностью robots.txt
Когда вы включаете перенаправление трафика с http на https на Cloudflare, то в Яндекс Вебмастере у вас может возникнуть ошибка: «сервер отвечает редиректом на запрос /robots.txt». Если это случилось, то добавим правило для данного файла.
- У вас должен быть включен редирект на https: «Always Use HTTPS — on».
- Переходим в Page Rules и создаём первое правило: If the URL matches: «example.com/robots.txt — Disable Security».
- Второе правило для перезаписи всех URL сайта на https: «example.com* — Automatic HTTPS Rewrites — on.».
Итого для файла robots.txt задается своё правило, которое отменяет использование HTTPS и Яндекс перестанет ругаться на редирект для robots.txt. Для всех остальных страниц перенаправление использоваться будет.
Плагин Cloudflare для WordPress
Для сайта на WordPress рекомендуется установить официальный плагин Cloudflare, но если вы сделали все настройки самостоятельно и управляете функциями сервиса из панели Cloudflare, то можно обойтись и без него. Хотя, очень удобно установить настройки одним щелчком мыши. Также можно запланировать автоматическую очистку кэша при обновлении контента, кроме того, плагин автоматически устраняет проблемы со смешанным контентом.
При установке плагин запросит API Token, который надо создать в панели Cloudflare.
- Перейдите на вкладку «Overview» и в правом сайдбаре нажмите ссылку «Get your API token».
- Откройте вкладку «API Tokens > Creat Tokens».
- На странице создания выберите токен для WordPress.
- Далее в разделе «Permissions» настройте разрешения на редактирование или чтение в каждой строке. Все пункты у вас должны быть Read, и только в Zone Settings укажите Edit, Purge Cache — оставьте Purge.
- В разделе «Account Resources» — All accounts.
- «Zone Resources — Include — Specific zone» — укажите ваш домен.
- Сохраните. После вам будет предложено скопировать токен.
С помощью установленного плагина можно также включить HTTP/2 Server Push который позволяет получить содержимое в браузер до получения HTML- документа. Также это уменьшает количество обращений к серверу. Для включения добавьте в файл wp-config.php эту запись:
define('CLOUDFLARE_HTTP2_SERVER_PUSH_ACTIVE', true);
Как отключить функции Cloudflare в административной панели
Чтобы избежать проблем с административными страницами, например, в WordPress создайте правило отключающее кэширование, производительность и безопасность (при этом правило Firewall, о котором говорилось выше, не теряет свою силу).
Правило для административной панели на примере WordPress:

Как посмотреть сайт на IP вашего хостинга
Иногда требуется «увидеть» сайт на IP вашего хостинга, а не на IP Cloudflare, в этом случае откройте на своём компьютере в режиме администратора файл hosts и добавьте такую запись: 123.456.123.456 site.ru www.site.ru. Где IP — это IP вашего хостинга и ваш домен. Путь к файлу hosts в Windows — c:\windows\system32\drivers\etc\hosts, путь в MAC - /private/etc/hosts.
И еще один момент. Для выпуска бесплатного сертификата обычному хостингу требуется, чтобы домен был на его NS. Если SSL на хостинге не установлен, то открыв страницу через его IP, сайт будет считаться небезопасным. Т.е. зашифрованное соединение будет только через IP Cloudflare. Поэтому установите также сертификат SSL на хостинг вручную.
Как удалить сайт с Cloudflare
Если по какой-то причине вам необходимо удалить сайт из-под управления Cloudflare, то надо просто изменить сервер имён Cloudflare на NS вашего хостинга. Это можно сделать также в панели регистратора домена. На хостинге не забудьте выпустить SSL-сертификат и настроить переадресацию на HTTPS, если это необходимо. В панели Cloudflare поставьте сайт на паузу, вероятно, вам ещё пригодится данный сервис. Для этого перейдите на вкладку «Overview > Advanced Actions > Pause Cloudflare on Site». А чтобы полностью удалить — в том же блоке нажмите на «Remove Site from Cloudflare».
Что делать если IP-адрес сайта на Cloudflare заблокирован в вашей стране
Если выделенный для вашего сайта IP заблокирован в той или иной стране, то на бесплатном тарифе можно создать тикет в Support с просьбой поменять IP, но вам пришлют автоматический ответ такого содержания:
«Домены, прокси-серверы Cloudflare, используют IP-адреса из пула, принадлежащего сети Cloudflare. В результате Cloudflare не предлагает выделенные или эксклюзивные IP-адреса. Чтобы уменьшить количество IP-адресов, которые ваш домен использует совместно с другими доменами клиентов, перейдите на план Business или Enterprise и загрузите собственный сертификат SSL. К сожалению, мы не можем гарантировать, что назначенные вам IP-адреса не заблокированы какой-либо страной / интернет-провайдером.»
После данного письма, есть вероятность, что с вами свяжется кто-то из поддержки. Если судить по обращениям в Community переход на платный тариф не всегда решает проблему с заблокированным IP, но, кому как повезёт.
Уважаемый читатель, если наша статья помогла вам настроить сервис Cloudflare и у вас уже появились свои методы использования инструментов для защиты сайта, не указанные в этой статье, то поделитесь об этом в комментариях.










