FAQ о CDN-сервисе CloudFlare. Стоит ли пользоваться Cloudflare

Куча возможностей, помощь в переносе, и многое другое.
Хотелось бы начать с того, что данным сервисом можно пользоваться бесплатно. В CloudFlare предусмотрены PRO возможности, но лично мне эти возможности не нужны. Стоимость PRO довольна высока - $20 в месяц.

Что же предлагает нам CloudFlare?

  • Отличная система переноса - сервис анализирует ваши текущие настройки и полностью копирует их к себе.
  • Защита сайта и его кеширование на уровне DNS.
  • Своя собственная система статистики.
  • Множество приложениий для интеграции.

Система переноса

Я могу с уверенностью заявить, что с системой переноса справится даже ребенок. Вы просто указываете адрес своего сайта и нажимаете большую зеленую кнопку. В течение минуты ваш сайт анализируется и затем на странице отображаются все предыдущие настройки DNS. Также предлагается изменить/добавить некоторые значения, если что-то вдруг перенеслось неправильно. В чем плюс? Все очень просто, ваш сайт перенесется и не будет простаивать. Ваши пользователи даже не заметят каких-либо изменений.

Защита сайта

В настройках имеется два пункта: Basic Security Level и Advanced Security (доступно только для PRO). Basic Security ищет наиболее угрожающих (?) посетителей. Какими алгоритмами и методами - я так и не смог понять, но никто из пользователей не жаловался, что их посчитали «угрожающими». С Advanced Security все понятнее - она защищает от возможных SQL-Injection и XSS атак с помощью анализа URL. Если вы не уверены в безопасности своих сайтов, то возможно имеет смысл воспользоваться этой системой (хотя конечно лучше пересмотреть код скриптов). Кстати, система может добавить переменную для определения локации: HTTP_CF_IPCOUNTRY. Вызвать ее можно из Perl: $country_code = $ENV{"HTTP_CF_IPCOUNTRY"}; или из PHP: $country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

Кеширование сайта

Система кеширования позволяет в автоматическом режиме кешировать большинство статических ресурсов, таких как css-файлы, js-скрипты и картинки. Существует два типа кеширования - Basic и Agressive, второй считает example.com/pic.jpg и example.com/pic.jpg?foo=bar разными картинками. Существует возможность автоматической минимизации - система распространяется на JS, CSS и HTML файлы.

Статистика

Своя статистика - довольно мощный инструмент. Существует некоторое ограничение - в бесплатных аккаунтах она обновляется раз в 24 часа, в PRO - раз в 15 минут. Ведется анализ как и посетителей, так и поисковых ботов. Также в ней отображается сколько запросов и какое количество трафика помог сжать CloudFlare. Не забыли и о графиках, когда не хочется выполнять анализ то можно просто взглянуть на красивый график и увидеть развитие своего сайта.

Интеграция приложений

Среди приложений для интеграции доступно множество сторонних сервисов статистики - например Clicky, которая анализирует огромное количество параметров, среди которых время посещения, переходы с поисковиков и многое другое. Доступны системы мониторинга сайтов, например Monitis и Pingdom. Уведомления по SMS, Twitter или по эл. почте теперь настраиваются в течение 5 минут. На мой взгляд, самая полезная вещь среди этих приложений - сервис CodeGuard. Он полностью «бекапит» ваш сайт и если он не доступен, то показывает его сохраненную копию. Пользоваться данным сервисом можно бесплатно, если ваш сайт занимает меньше 1 ГБ. Кстати, именно на CloudFlare хостился сайт небезызвестных LulzSec, и именно CodeGuard показывал страницы, когда сервер LulzSec упал.

Заключение

CloudFlare - действительно очень удобный сервис. Согласитесь, защитить сайт, забыть о кешировании, установить статистику и не тратить нервы, если сайт недоступен, просто перенеся сайт на другие DNS - это здорово. А если почти всеми этими возможностями можно пользоваться бесплатно, то такой сервис - просто сказка:)

P.S. : Во избежание глупых обвинений в том, что пост проплачен, я сразу говорю, что не имею никакого отношения к сайту CloudFlare и комании CloudFlare, Inc. (US).

UPD: Заголовок действительно был некорректен, это не DNS-хостинг, а CDN-прокси, пропускающая через себя трафик.

Как то столкнулся я с мощной DDOS атакой на сайт, когда мне положили его наглухо. Вот тогда и пришлось открыть для себя CloudFlare.

Это популярнейший сервис облачной сети по обслуживанию сайтов и интернет ресурсов с обеспечением их безопасности и оптимизации. Он предоставляет защиту от DDOS атак, SSL сертификаты и ряд других очень полезных инструментов.

Cloudflare - самый большой, самый быстрый и самый надёжный управляемый DNS сервис в мире с более чем 35% долей рынка.

Сайт подключённый к CloudFlare загружается быстрее, при этом потребляя значительно меньше пропускного трафика, а следовательно нагрузки на сервер становятся меньше. При этом сайт или интернет ресурс становится более защищённым от злоумышленников.

Эта облачная сеть была создана тремя америкосами в 2009 году. Она очень быстро развилась и уже в 2011 году удостоилась награды на Всемирном экономическом форуме в Давосе за использование инновационных технологий защиты от угроз . Сеть основывается на усовершенствованной версии Nginx и насчитывает более 100 дата-центров расположенных в различных странах. Количество серверов сети CloudFlare непрерывно растёт по всему миру. Они есть в Москве и Киеве.

Принцип работы сервиса заключается в том, что сайт подключается к системе через прописывание в домене DNS-серверов CloudFlare (каждому пользователю выделяется пара DNS-серверов вида ***.ns.cloudflare.com). В панели управления CloudFlare можно настроить записи, для записей, указывающих на IP-адреса (типа CNAME и A) — определить, идёт ли трафик через CloudFlare (тогда IP-адрес сайта скрывается).

Регистрация бесплатная, плата за трафик передаваемый через CDN не снимается.

В CloudFlare есть 4 тарифных плана:

  • Бесплатный (бесплатный SSL, статистика и блокировка спамботов, кеш для контента, режим атаки);
  • Профессиональный (SSL, статистика в реальном времени, оптимизация для мобильных устройств) — 20$ в месяц за первый сайт, 5$ в месяц за последующие;
  • Бизнес (защита от DDoS, гарантия 100 % доступности сайта) — 200$ в месяц;
  • Корпоративный (компенсация за простой 2500 %, техподдержка по телефону) — 5000$ в месяц.

*В статистике собирается информация об отклонённых подозрительных запросах, общем трафике за месяц и объёме трафика, сэкономленного благодаря кешированию CloudFlare.

Сеть очень популярна и используется во всём мире.

Always Online

Always Online — опция CloudFlare, позволяющая просматривать сайты, у которых сервер в настоящий момент перестал функционировать. Эта функция бесплатна для всех пользователей CloudFlare.

Если она включена, а сайт не работает - то показывается копия страницы сайта и сообщение: «This page сайт is currently offline. However, because the site uses CloudFlare’s Always Online™ technology you can continue to surf a snapshot of the site».

CloudFlare и браузер Tor

После подключения CloudFlare заметно усложняется работа с сайтами через анонимный браузер Tor. На многие простые запросы (отправка личного сообщения, например) появляется запрос сложной каптчи, при этом запрос может быть не выполнен и после введения каптчи может потребоваться вновь отправлять сообщение (если текст не был сохранен вне браузера - он попросту теряется).

Инциденты

Бывают случаи, когда IP от CloudFlare попадают в чёрный список Роскомнадзора, от чего могут страдать невиновные сайты, так как CloudFlare выделяет один и тот же IP для нескольких сайтов.

С апреля 2014 г. роскомнадзор начал предостерегать от использования CloudFlare.

Есть примеры когда от мощнейшего DDoS не помогали даже платные планы подписки. Так в 2015 году был на несколько дней положен сайт Ficbook, подключенный к CloudFlare.

Рекордная атака

По сообщению генерального директора Мэтью Прайса (Matthew Price), CloudFlare подвергалась в феврале 2014 года DDoS-атаке мощностью 400 Гбит/с.

Как подключить Cloudflare

Чтобы подключить сайт к сервису Cloudflare, для начала зарегистрируйтесь https://www.cloudflare.com/a/sign-up

после чего выполните действия показанные в видео инструкции.

Видео: как подключить Cloudflare

Здравствуйте, уважаемые читатели блога сайт. Кто не слышал про CloudFlare ? Я слышал и даже подробно изучал возможности сервиса лет этак пять назад, наверное (когда ). Вот только сейчас уже не скажу, что именно тогда меня остановило от того, чтобы этот сервис попробовать (не помню). Но это и не важно.

Важно же то, что в первый рабочий день после новогодних праздников мне таки пришлось подключить сайт к CloudFlare и притом в авральном режиме (с выдиранием волос, литрами выпитого кофе и биением головой об стол). Сделать это пришлось из-за полной блокировки доступа к сайту (скорее всего путем Ддос атаки — по FTP доступ был возможен).

Из меня администратор сервера аховый и по большому счету я мало что понимаю в тонкостях и разновидностях DDos атак (ни как их организуют, ни как от них грамотно отбиваться — кроме простейшего блокирование по IP). Когда с этим не сталкиваешься, то оно тебе и не надо.

Но по всему выходит, что в первый рабочий день после новогодних праздников меня ддосили, и ничего ни я, ни техподдержка хостинга с этим поделать не смогли. Нанимать фрилансера для решения проблемы было стремно. Хорошо хоть по телефону ребята с Инфобокса мне подкинули идею подключить CloudFlare (как один из вариантов решения проблемы) и я за эту идею ухватился как за соломинку.

На успех особо не рассчитывал (за несколько часов, нужных для сброса старых и прописывания новых NC адресов успел много чего узнать по теме и даже составил уже примерный план действий). Но к моему удивлению буржуйский чудо-сервис помог! Притом даже на бесплатном тарифе. Замечательно сработал режим защиты от DDos атаки . Честно — не ожидал. Был приятно удивлен. Да еще и сайт стал летать как на крыльях (хотя и раньше черепахой не был).

В общем — так не бывает, но все же случается...

Что такое Ддос и что такое CloudFlare?

Что такое Ddos ? Ну, во-первых, это аббревиатура от «distributed denial of service». По-русски это звучит как распределенная атака, цель которой добиться от атакуемого сервера (группы серверов) отказа в обслуживании для посетителей сайта (сайтов). Сайт будет выдавать ошибку всем желающим на него войти.

Слово «распредленная» означает, что Ддос атака идет сразу со множества компьютеров в сети. Очень часто для этой цели используется так называемый ботнет, т.е. группа зараженных вирусами или другим способом взятых под контроль компьютеров. Владельцы входящих в ботнет компьютеров могут при этом даже не догадывать о том, что они кого-то атакуют (все происходит в фоновом режиме).

Физически это означает огромное количество запросов, совершаемых к серверу с разных IP адресов. Если адрес будет один или несколько, то его легко можно вычислить по логам или открыв страницу http://xxx.xxx.xxx.xxx/server-status (где x нужно заменить на IP вашего сервера, если он работает под Апачем). После чего проблем не составит подозрительные IP временно заблокирвовать, например, через файл.htaccess дописав в него строки (Ip замените на свои — строк с Deny from можно добавлять сколько угодно):

Order allow,deny allow from all Deny from 83.149.19.177 Deny from 87.228.80.49 Deny from 178.212.72.13

Какое-то время мне это помогало. Но настоящий Ddos так ни за что не отбить — просто не успеете выявлять повторы IP адресов, если атаковать будут с десятков и/или сотен хостов. У меня так и случилось. В итоге 7 часов полного дауна!

Первые два часа я общался с техподдержкой хостинга на предмет «помогите» — «не могем». Потом за пять минут подключил к сайту CloudFlare, еще за пару минут сменил DNS записи у и часа четыре ждал, пока начнется проключение ( должны обновиться на всех ключевых NS серверах в сети). Полноценно сайт заработал только через сутки, примерно.

Что такое DDos? Это страшная вещь на самом деле. Чувствуешь свое полное бессилие и безысходность. Со стороны атакующих — это способ заработать (на шантаже или выполняя заказ конкурента). Постоянная защита от этого зла очень дорогая, но CloudFlare даже на бесплатном тарифе позволяет отбиться от слабо-средней Ддос-атаки .

У этого сервиса есть миллионы подключенных сайтов (около пяти миллионов) и разработчики сервиса всегда четко отслеживают с каких IP сейчас обычно атакуют и таким посетителям, например, можно показать капчу (боты вряд ли настроены на ее разгадывание) или проверить браузер на «человечность» у таких подозрительных IP. Да и сами по себе их распределенные по миру сервера неплохо разреживают атаку на отказ — просто эти запросы распределяются на разные сервера и сильно снижают силу атаки сводя все усилия «редисок» на нет.

Для более серьезной защиты от Ддос в CloudFlare нужно уже платить и не мало (200$). Но это все для очень серьезного бизнеса, где Ддос мощнее (денег вливаемых в это больше), но и средств у владельцев много больше. Нам с вами «за глаза» хватит тарифа PRO за 20$ или вообще бесплатного тарифа, на котором почти все есть (читайте об этом ниже).

Что такое CloudFlare ? Это онлайн сервис, ведущий свою историю с 2009 года (он ровесник моему блогу). Это ни в коем разе не хостинг, хотя со стороны может показаться именно так. Это скорее надстройка над хостингом (что-то вроде кеширующего обратного прокси). После подключения сайта к этому онлайн-сервису у него меняется IP адрес и возникает такое ощущение, что вы сменили хостера, но это не так.

Хостинг вам будет по-прежнему нужен и работать с сайтом вы будете фактически так же, как и работали раньше. Будут некоторые нюансики, но суть останется прежней. CloudFlare же нужен для защиты (стабильной работы) и ускорения работы сайта .

К нему подключены уже более пяти миллионов сайтов по всему миру. Этот онлайн сервис владеет распределенной сетью дата-центров (более 120) по всему миру (с прошлого года и в Москве такой появился). Последнее особо приятно, ибо обеспечивает гораздо более быстрый отклик при обращении к сайтам с территории России (хотя страна у нас большая и центров надо строить больше).

Итак, CloudFlare владеет кучей серверов распределенных по всему миру . Зачем? Чтобы добавленные в него сайты грузились в браузерах посетителей как можно быстрее. Вся графика, CSS и джава-скрипт коды будут отдаваться с того дата центра, который ближе находится к данному посетителю вашего сайта. Посетитель зашел из Москвы? Значит в работу включится московский дата-центр. Из США? Значит графика и прочая статика будет отдаваться посетителю с ближайшего к нему узла Cloud Flare.

Одно это уже способно повысить среднюю скорость загрузки странниц вашего сайта. Но данный сервис имеет в своем загашнике еще несколько тузов и джокеров. Работая с миллионами сайтов и отражая ежесекундно атаки сервис имеет базу адресов, с которых сейчас чаще всего атакуют сайты. Одно это может даже на бесплатном тарифе служить первым эшелоном защиты от DDoS-атак (и на это не требуется тратить особо ресурсы и время).

Кроме этого сервис позволяет включить режим «под атакой» (Under Attack Mode), когда каждое обращение к сайту прерывается на 5 секунд для выяснения типа браузера, с которого осуществлялся заход. Как раз этот режим спас меня в описанной выше безвыходной ситуации. Да, при этом отсекаются все боты и часть легитимных пользователей (на вскидку трафик стал процентов на двадцать меньше), но это лучше чем полный отказ сервера в доступе.

По окончании Ддос-атаки этот режим можно будет отключить и выбрать подходящий уровень бдения. При повторении атаки его легко можно будет включить даже с мобильника сидя в метро (главное , чтобы вовремя среагировать).

В общем, даже на бесплатном тарифе практически все что нужно уже есть. Даже можно сжимать на лету файлы CSS и джава скрипта (удалив из них пробелы), чтобы на капелюшечку увеличить скорость загрузки. Не поверите — на бесплатном тарифе в CloudFlare можно будет даже SSL к сайту подключить (перейти на шифрованный протокол передачи данных — https, к чему нас последнее время активно склоняет Гугл). Причем сервис предоставляет свой собственный бесплатный сертификат.

Фантастика какая-то, не правда ли? Сами посмотрите сравнительную таблицу тарифных планов (включая Free). Чума! Если ваш хостинг упадет (будут проблемы), то Cloud Flare будет отдавать в этот промежуток времени страницы сайта из своего кеша (и это работает — проверял остановкой сервака, но есть нюансы о которых обязательно читайте ниже, иначе не сработает). Может чего упустил из бесплатных прелестей, но и этого более чем достаточно (за так то).

Кстати, у сервиса этого нет партнерки, но в рунете есть масса конкурентов с сумасшедшими ценниками (например, защита от DDoS-атак в qrator стоит ого-го-го сколько). Поэтому когда будете читать на форумах или блогах отзывы о CloudFlare , то обратите внимание на зачастую очень тонкую работу этих конкурентов (возможности CloudFlare занижаются, а своего сервиса или надстройки — абсолютируются). Многие ведутся, но сервис однозначно из разряда «такого не может быть, но все же есть».

Нет, недостатки у него тоже есть . Какие? Ну, зачастую очень даже значимые:


Что дает переход на тариф PRO в CloudFlare?

Как я уже сказал выше, купил PRO за 20$ в месяц (дороже хостинга получилось в полтора раза) и меня перевели (без моей просьбы — автоматом) на новый IP , где только три соседа и вполне себе легитимные.

Кроме этого на платном тарифе появилась возможность :

  1. Polish (вкладка «Speed» из верхнего меню) — сжимать на лету картинки перед их отдачей посетителям сайта (можно настроить вариант сжатия — без потерь или с потерями, но более сильно).

  2. Mirage — позволяет подгружать график на мобильных устройствах не сразу, а по мере прокрутки посетителем страницы. Кроме этого, изображения сжимают до реально требуемых размеров и только потом передаются пользователю в гаджет. Вроде как это здорово ускоряет работу сайта на мобильниках.

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

    А сейчас существенно ниже дает оценку — ругается, что часть контента на первом экране не подгружается вовремя. Кто его поймет?

  3. Page Rules — на платном аккаунте появляется возможность задать более трех правил для страниц (а точнее — до 20). Зачем нужны эти правила? Например, именно они позволяют настроить кеширование не только статики, но и Html страниц сайта. Ну, и еще другие применения найдутся, но мне это нужно только для описанной цели. Как настроить полное кеширование сайта (включая текст страниц, а не только картинок, скриптов и стилей) читайте ниже.
  4. Web Application Firewall — на платном аккаунте можно активировать (на вкладке «Firewall» из верхнего меню) базовый набор защиты от различных атак типа межсайтового скриптинга (XSS) и SQL инъекций. Вся подобная активность будет отсекаться (фильтроваться) еще на
    CloudFlare (не доходя до реального хостинга). Можно еще свои правила добавить, но я в этом не силен, посему ограничился стандартным (проверенным временем и миллионами сайтов) набором.
  5. Можно будет еще на платном акке сделать свой дизайн для страниц с различными ошибками. Например, когда вы включаете режим «Под атакой» (Under Attack Mode), то всем новым посетителям сайта будет показывать сообщение о том, что идет проверка их браузера на предмет «человечности» (если Серч читаете, то могли у них такую надпись видеть в течении последнего года, после подключения ими Cloud Flare).

    Табличка эта на буржуйском языке и часть посетителей могут просто сбежать. А вот если написать что-то типа «Ребят, ребят, ребят! Не уходите! Буквально 5 сек и все будет!», то шанс удержать посетителя увеличится. Я пока все ленюсь этим заняться...

Тариф я оплачиваю через Пейпел, что весьма удобно. При настройке платежей меня попросили , но деньги снимались не с карты, а непосредственно с самого кошелька (я в него вывожу ). Прикольно, что каждый последующий месяц платеж происходит без моего участия — деньги автоматом списываются с Пайпаловского кошелька в день оплаты, что очень удобно.

Оно и не мудрено, ибо Пайпал позволяет в течении полутора месяцев опротестовать платеж, если что.

Как подключить свой сайт к CloudFlare?

Ну, тут, кстати, все довольно просто, если мастер подключения сможет вытянуть все нужные настройки для переноса вашего сайта (его IP, Ms записи). Однако, обо всем по порядку.

Заходите на Cloud Flare и регистрируетесь ( как зеницу ока, ибо это ключ к вашему сайту).

Сразу оговорюсь, что бояться особо нечего, ибо при неудачном подключении вам не придется ждать сутки, пока ДНС записи опять перепишутся. Просто кликните по облачкам на странице настройки DNS и ваш сайт будет работать напрямую (мне пришлось так поступить с одним из второстепенных проектов, который почему-то с CloudFlare перестал открываться — см. скриншот ниже). Но по-любому: вся ответственность за ваши действия лежит только на вас и я тут буду, как бы, ни причем .

Сразу после регистрации можно переходить на страницу добавления нового сайта , где в предложенную строку нужно будет просто вставить его доменное имя и нажать на кнопку «Begin Scan»:

Тут, как видите, все ОК — сервис нашел все основные NS записи (включая почтовые), что есть хорошо. Автоматически для будущих данных, передаваемых с этого сайта, включилось кеширование (облачка окрасились). Идем дальше.

Как уже говорил выше, для защиты от Ddos подойдет даже бесплатный тарифный план (на нем при желании еще и бесплатный SSL сертификат получить можно). Отличия плана PRO от бесплатного я описал выше, поэтому выбирайте то, что вам нужно (мне все равно). Идем дальше.

Теперь основное. Нужно зайти в панель вашего регистратора доменных имен () и сменить там NS записи на те, что предложил на этом шаге мастера CloudFlare. Например, в Вебмани Домейнс это делается на такой вот страничке:

Нужно просто заменить записи в двух строчках на то, что вам Cloud Flare дал и подождать от 4 часов до 2 суток , пока все это дело пропишется на всех NS интернета. Идем далее, и по истечении нескольких часов после прописывания новых NS серверов можно будет нажать на кнопку «Recheck Nameservers»:

Обратите внимание, что внизу приведены настройки по умолчанию , которые будут применены к вашему сайту сразу после окончательного подключения к CloudFlare (средний уровень безопасности и стандартное кеширование, которое подразумевает попадание в кеш только статики — картинок, стилей и скриптов).

Если подключение ДНС уже прошло, то статус после нажатия на упомянутую кнопку сменится:

Кнопка «Quick Actions» позволяет быстро перейти в режим защиты от Ddos и прочих видов атак, который называется «Under Attack Mode» . Мне при переходе на Cloud Flare пришлось сделать именно так. Данный режим «Под атакой» (Under Attack Mode) у меня был включен около 12 часов, пока атака не прекратилась.

На это время доступ к сайту ограничен и все соединения проверяются на предмет их легетивности. Всякие боты, в том числе и поисковых систем пробиться на сайт не смогут. В общем, работать в нем не стоит дольше того, чем необходимо (пока идет атака). Чуть подробнее о включении и выключении режима защиты от Ддос-атаки читайте в самом конце этой публикации.

100%-ый аптайм для сайта с помощью CloudFlare

Под автономной работой сайта я имею такую ситуацию, когда по каким-либо причинам ваш хостинг «ляжет», а сайт продолжит быть доступным посетителям . Это, как говорится, крайний случай. Но зачастую хостинг может просто-напросто не справляться с высокой нагрузкой (вызванной посещаемостью или использованием множества плагинов и плохой оптимизацией движка). В этом случае опять же поможет кеширование Html страниц в CloudFlare.

По умолчанию, как я понимаю, сервис кэширует только статику : картинки, CSS и JC. Все. В принципе, и это здорово может облегчить работу хостинга и ускорить загрузку страниц сайта в разных точках мира. Но зачастую этого бывает недостаточно. И даже не это главное. В этом режиме не срабатывает функция «Always Online» (Всегда онлайн), ибо Cloud Flare не умеет творить чудеса и отдает страницы из своего собственного кеша, а если их там нет, то отсылает к хостингу (который в данный момент может быть недоступен).

В общем, задача сводится к тому, чтобы включить кэширование всего содержимого веб-страниц (кода разметки, включающего текстовое наполнение), а не только статики. Сделать это можно на вкладке «Page Rules» из верхнего меню (см. пояснения в хелпе). Почему это не вынесли в общие настройки кэширования? Думаю, что из-за великого разнообразия сайтов и движков, на которых они работают. Видимо, не возможно обеспечить таким образом стабильность. Нужно действовать более точечно, опираясь на структуру и специфику каждого конкретного вебсайта. ИМХО.

На бесплатном тарифе можно создать только три правила для страниц, а на тарифе PRO — уже 20. Суть создания правила довольно проста. Пока опустим то, что нужно вставить в поле с регулярным выражением, а посмотрим что нам предлагают при нажатии на «+ Add a Setting» (добавить настройку):

Здесь как раз можно выбрать настройку степени кэширования (Cache levels), где в открывшемся списке допнастроек можно будет выбрать последний вариант «Cache everything» («Кэшировать все»). Таким образом, мы принудительно заставим CloudFlare кешировать всю вебстраницу, а не только статику.

Еще желательно будет задать время, которое страница будет храниться в кэше CloudFlare и в кэше браузеров посетителей сайта (это две разных настройки). Тут все зависит от степени динамичности вашего сайта в целом и отдельных его страниц в частности. Меня вполне устраивает интервал в несколько суток хранения кеша в облаке, а кеш браузера я выбираю разный (в зависимости от типа страниц).

Для задания этих настроек нужно будут еще пару раз нажать на кнопку «+ Add a Setting» и выбрать:

  1. Browser Cache TTL — настройка времени жизни кэша в браузерах посетителей вашего сайта. Например, если выберите одни сутки, то посетитель, в течении суток зашедший дважды на одну и ту же страницу вашего сайта, второй раз получит ее не из интернета, а из кеша собственного браузера (без изменений). А вот если времени пройдет более суток, то страничка будет запрашиваться уже из интернета (с Cloud Flare). Для главной страницы этого блога я поставил значение «пару часов» для Browser Cache TTL, а для остальных страниц — от суток до двух. Возможно, что можно придумать что-то более оптимальное.
  2. Edge cache TTL — это уже время жизни кеша на серверах в дата-центрах CloudFlare (по всему миру). Если поставите все те же сутки, то все посетители вашего сайта будут видеть эту страницу (или группу страниц, для которых вы задали Edge cache TTL равным суткам) без изменений, даже если на сервере эта страница поменялась (например, к ней добавились комментарии или вы что-то изменили в тексте, поменяли изображение и т.п.).

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

Делается это на вкладке «Caching» (из верхнего меню) путем нажатия на кнопку «Purge Individual Files» (чтобы сбросить весь кеш нужно будет нажать на стрелочку на этой кнопке и выбрать нижний из двух пунктов «Purge Everything»). В открывшееся окно нужно ввести Урл страницы, либо страниц (по одной на строку), либо отдельных файлов (полный путь до картинок, файла стилей и т.п.):

Я этой опцией пользуюсь довольно часто, например, после изменения картинок, добавлении комментария к статье или при изменении дизайна сайта (сбрасываю кеш для файлика стилей). Файлы, кеш которых вы недавно сбрасывали, отображаются ниже — по ним можно просто кликнуть, чтобы выполнить их очередной сброс. Очень удобно.

Но вернемся к настройкам правил для отдельных страниц сайта — Page Rules . Чуть ранее мы нажали на кнопку «Create Page Rule» и научились включать полное кеширование содержимого Html страниц, а также ограничивать время жизни кэша в браузерах посетителей и на серверах CloudFlare. Получиться в результате должно что-то типа этого:

Т.е. мы задали нужные нам правила кеширования. В примере — это кэширование всего содержимого со сроком жизни кэша в браузерах посетителей 4 час и сроком жизни кеша на серверах сервиса 2 суток. Осталось дело за малым — прописать в первой строке этого всплывающего окна формулу, по которой сервис поймет для каких именно страниц вашего сайта эти правила применять . Как это сделать, можно почитать нажав на кнопку «Хелп» внизу окна настроек правил.

На мой взгляд есть два пути задания правил:

  1. На тарифе Pro есть возможность прописать 20 правил для страниц, что позволяет реализовать первый вариант: описать формулами все типы страниц сайта, которые стоит кешировать . Для моего блога — это главная, страницы со статьями, страницы рубрик, а также статические страницы типа «О блоге» и т.п. Естественно, Урлы админки тут указывать не будем, ибо там кеш может помешать работе.
  2. На бесплатном тарифе доступны только три правила, и в некоторых случаях их может не хватить для реализации первого способа. Второй способ заключается в том, чтобы сначала разрешить кеширование страниц всего сайта, а потом запретить кешировать админку и страницу авторизации. Трех правил для этого должно хватить.

Как настроить полное кеширования страниц сайта в CloudFlare

Теперь поподробнее о практической реализации обеих способов.

Начнем с первого варианта создания разрешающих правил кеширования для всех (или большинства) страниц сайта, которые нужно будет хранить в кеше серверов CloudFlare полностью (весь html код с картинками, скриптами и стилями).

Если страницы со статьями вашего сайта (как и на моем блоге) оканчиваются на.html , то для их полного кеширования хватит одного единственного правила для страниц:

Сайт/*.html

Замените мое доменное имя на свое и все должно заработать. Довольно просто — знак * заменяет все, что может стоять между доменными именем и суфиксом.html.

Останется еще только добавить правило для полного кеширования главной страницы сайта:

Сайт/

Тут, думаю, все понятно и без пояснений. Единственное что, для главной страницы я время кеширования в браузерах пользователей выбрал поменьше, ибо содержимое этой страницы чаще других изменяется, и важно, чтобы она отображалась в более-менее актуальном состоянии.

Время же кеширования на серверах CloudFlare оставил большим, ибо при добавлении новой записи я просто сбрасываю кеш для главной способом описанным чуть выше. Очень удобно, только по первости нужно привыкнуть это делать.

Замечательно, когда все страницы кроме главной оканчиваются на.html. У меня же, например, рубрики и статические страницы (типа «О блоге») такого индекса не имеют. С рубриками особо мучиться не пришлось, ибо я выбрал, как оказалось, удачный шаблон, с обязательным словом (каталогом) «/category/», поэтому правило для этого типа страниц выглядит так:

Сайт/category/*

Ну, а со статическими страницами пришлось поизголяться, но вроде все получилось.

В итоге процент отдаваемых из кеша CloudFlare данных составил (по данным встроенной в эту систему аналитики) около 90%, что есть очень даже хорошо (по сути на эту величину снизилась нагрузка на сервер моего хостинга):

На отдельном аккаунте в CloudFlare (бесплатном) я разместил все остальные свои небольшие проекты. Т.к. правил для страниц можно было создать только три на бесплатном тарифе, то я решил пойти от противного — разрешить полное кеширование всего сайта, запретив потом трогать страницы админки .

Сразу скажу, что сработало как-то не очень. Вместо 90% загрузок из кеша, в этом случае я получил менее 50%. Но тем не менее свои решения я приведу, авось вы мне подскажите где я ошибся. Итак, первым правилом я разрешил кешировать все:

А вторым (этот сайт работает на Вордпресс ) — для страниц админки выбрал режим кеширования байпасс, т.е. не попадание этих страниц в кеш. Вроде все работает и скорость блога существенно выросла, но в аналитике менее 40 процентов трафика идет через CloudFlare (все остальное тянется с сервера хостинга). Почему? Для меня не очень понятно. При этом с работой в админке никаких проблем при этом не наблюдалось, что уже хорошо.

Если у вас сайт на joomla , то там админку можно забайпассить таким образом (наверное):

Domen.ru/admin*

В общем, сами смотрите какой вариант вам выбрать.

На одном из сайтов, подключенных к бесплатному аккаунту CloudFlare, вдруг возникли проблемы (он перестал открываться), поэтому для него я пока просто отключил «облачка» на вкладке «DNS» из верхнего меню:

После этого он начал открываться. Переносить NS записи на старые пока не стал — может быть возникнет желание поразбираться что к чему.

Что делать, если началась DDos-атака и как ее отразить?

Если вы подключились к КлоудФлэр именно из-за идущей в данный момент Ддос-атаки (или она началась после подключения), то ее вполне можно будет отразить или снизить эффект от нее даже на бесплатном тарифе этого сервиса. Для этого достаточно лишь перейти на вкладку «Overview» из верхнего меню и нажать на кнопку «Quick Actions» :

Выберите из выпадающего списка пункт «Under Attack Mode» и данный сервис начнет активно противодействовать Ddos-атаке.

Все пользователи (или боты) будут задерживаться перед обращением к серверу вашего хостинга сервисом CloudFlare на 5 секунд, за время которых он будет пытаться определить реальный ли это пользователь (браузер) или бот.

Реальные пользователи при этом будут наблюдать такую вот картинку на своем экране в течении 5 секунд (до открытия страницы вашего сайта):

Понятно, что такая «непонятная» надпись часть посетителей таки отпугнет — я наблюдал падение посещаемости в режиме «Under Attack Mode» примерно на четверть по отношению к нормальному режиму работы. Но лучше потерять четверть посетителей, чем все 100%. Согласитесь?

К тому же на тарифе PRO (о котором я писал выше) можно вид этой надписи поменять и снизить процент отказов (например, перевести ее на русский и добавить чуток креатива). По-любому возможность замечательная.

Однако, не стоит оставлять сайт в режиме «Under Attack Mode» дольше того времени, пока идет атака, ибо вы не только часть посетителей будете терять, но и все боты поисковиков будут отсекаться от сайта, что со временем не здорово скажется на посещаемости. Поэтому периодически отключайте режим «Under Attack Mode» простым нажатием на кнопку «Disable» (на вкладке «Overview»- см. скриншот выше) и смотрите на результат.

Если сайт опять стал недоступен (Ddos продолжается), то включайте Status: I"m Under Attack! взад. Так продолжайте часа через два мониторить окончание Ддос-атаки, чтобы не держать лишнее время сайт в этом безусловно полезном, но неоптимальном режиме «Под атакой».

На постоянной основе я предпочитаю использовать режим по умолчанию «Medium» . Кстати, поменять режим безопасности можно и без переключения в «Under Attack Mode». Сделать это можно на вкладке «Firewall» (из верхнего меню), выбрав нужный вариант из выпадающего меню кнопки с названием текущего Security Level:

Ну, и «I"m Under Attack!» отсюда тоже можно будет включить.

А в целом

Пока вроде все, что хотел и имею сказать. Полазайте еще по вкладке «Speed» и посмотрите, что там можно использовать. А вообще, извините за столь краткое описание этого безусловно примечательного сервиса, но что-то утомился печатать и скрины делать (видать сегодня не в форме).

В рунете подобного меценатства вкупе с ошеломляющей полезностью я пока не встречал. Посему не посчитал для себя обременительным перейти на тариф PRO с ежемесячным отстегиванием 20$.

В принципе, можно было этого не делать, но так как-то спокойнее, что ли...

CloudFlare посвящен пятый ролик из 6 видеоуроков по теме ускорения сайта , которые, на мой взгляд, имеет смысл посмотреть целиком, чтобы воспринимать картинку оптимизации в целом (нужный ролик можно выбрать из выпадающего списка в левом верхнем углу окна плеера):

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на

Не только CDN в чистом виде, но и ещё множество других дополнительных возможностей, которые могут быть полезны для сайтов любой тематики.

Итак, во-первых, CloudFlare - это бесплатный (есть разные тарифы) CDN. Но кроме всего этого, он ещё кэширующий прокси, имеет защиту от атак и много дополнительных полезностей.

CDN

Сервера CloudFlare находятся в 23-ёх городах по всему миру. Это позволяет загружать ваш контент из того района, который ближе всего к посетителю. Конечно, вы сразу же скажете, что у CloudFlare нет ни одного дата-центра в России. Но, как вы поймёте далее, это не такая уж и большая проблема.

Optimizer

Именно благодаря CloudFlare optimizer даже пользователи из России смогут заметить существенный прирост в скорости вашего сайта. CloudFlare кэширует весь статический и динамический контент вашего сайта и асинхронно отдаёт посетителям. Также попутно используется технология минимизации скриптов и CSS. Также, если это возможно, используется локальное хранилище браузера. При этом CloudFlare в первую очередь опирается на настройки кэша вашего сервера.

Защита от атак

CloudFlare предлагает защиту от DDOS-атак даже для бесплатных аккаунтов. Причём это делается всего одной кнопкой, вам не понадобятся какие-то особые знания для этого.

Подключение CDN для своего домена

Это делается очень легко и буквально за две минуты.

Вы просто вводите адрес своего сайта и нажимаете Add Website. Далее CloudFlare скажет вам, какие записи DNS вам нужно заменить. После того как DNS для вашего домена обновятся, CloudFlare заработает на вашем сайте. Вот и вся настройка.

Кэширование

CloudFlare предлагает тонкие настройки кэширования вашего контента.

Сразу же скажу, что даже при максимальных настройках кэширования и оптимизации, вы сможете смело обновлять свои скрипты и CSS. Конечно, если вашим сервером правильно отдаются настройки их кэширования. Также вы можете включить в панели управления CloudFlare режим разработки. Он работает в течение трёх часов после включения, и в этот период вы будете видеть все изменения на сайте в реальном времени.

Если вам кажется, что прирост в скорости от этих всех действий минимальный и вам не нужен, то просто покажу два скриншота:

Защита от атак

Вы можете включить для своего сайта защиту от DDOS и прочих атак. При этом (в зависимости от настроек) всем «подозреваемым» при заходе на ваш сайт придётся решить капчу на специальной страничке.

Так вы сможете включить обфускацию e-mail, запрет хот-линкинга и кражу контента. Также вы можете спрятать чувствительную информацию от возможных спаммеров и прочих нежелательных лиц, а обычные посетители смогут её прочесть.

Приятные мелочи

Кроме всего прочего, у CloudFlare есть так называемые приложения. Вы можете, например, включить для пользователей старых версий IE сообщение о том, что их браузер устарел. При этом в код сайта добавлять ничего не нужно. Это, как и любое другое, приложение включается и выключается просто нажатием одной кнопки.

  • A Better Browser - включает/выключает сообщение об устаревшей версии IE;
  • CodeGuard - ежедневный бэкап вашего сайта;
  • Google Analytics - автоматически добавляет на все страницы вашего сайта скрипт Google Analytics;
  • ScrapeShield - дополнительная защита вашего контента от кражи.

В качестве итога

Экономия трафика на сервере

Куча возможностей, помощь в переносе, и многое другое.
Хотелось бы начать с того, что данным сервисом можно пользоваться бесплатно. В CloudFlare предусмотрены PRO возможности, но лично мне эти возможности не нужны. Стоимость PRO довольна высока - $20 в месяц.

Что же предлагает нам CloudFlare?

  • Отличная система переноса - сервис анализирует ваши текущие настройки и полностью копирует их к себе.
  • Защита сайта и его кеширование на уровне DNS.
  • Своя собственная система статистики.
  • Множество приложениий для интеграции.

Система переноса

Я могу с уверенностью заявить, что с системой переноса справится даже ребенок. Вы просто указываете адрес своего сайта и нажимаете большую зеленую кнопку. В течение минуты ваш сайт анализируется и затем на странице отображаются все предыдущие настройки DNS. Также предлагается изменить/добавить некоторые значения, если что-то вдруг перенеслось неправильно. В чем плюс? Все очень просто, ваш сайт перенесется и не будет простаивать. Ваши пользователи даже не заметят каких-либо изменений.

Защита сайта

В настройках имеется два пункта: Basic Security Level и Advanced Security (доступно только для PRO). Basic Security ищет наиболее угрожающих (?) посетителей. Какими алгоритмами и методами - я так и не смог понять, но никто из пользователей не жаловался, что их посчитали «угрожающими». С Advanced Security все понятнее - она защищает от возможных SQL-Injection и XSS атак с помощью анализа URL. Если вы не уверены в безопасности своих сайтов, то возможно имеет смысл воспользоваться этой системой (хотя конечно лучше пересмотреть код скриптов). Кстати, система может добавить переменную для определения локации: HTTP_CF_IPCOUNTRY. Вызвать ее можно из Perl: $country_code = $ENV{"HTTP_CF_IPCOUNTRY"}; или из PHP: $country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

Кеширование сайта

Система кеширования позволяет в автоматическом режиме кешировать большинство статических ресурсов, таких как css-файлы, js-скрипты и картинки. Существует два типа кеширования - Basic и Agressive, второй считает example.com/pic.jpg и example.com/pic.jpg?foo=bar разными картинками. Существует возможность автоматической минимизации - система распространяется на JS, CSS и HTML файлы.

Статистика

Своя статистика - довольно мощный инструмент. Существует некоторое ограничение - в бесплатных аккаунтах она обновляется раз в 24 часа, в PRO - раз в 15 минут. Ведется анализ как и посетителей, так и поисковых ботов. Также в ней отображается сколько запросов и какое количество трафика помог сжать CloudFlare. Не забыли и о графиках, когда не хочется выполнять анализ то можно просто взглянуть на красивый график и увидеть развитие своего сайта.

Интеграция приложений

Среди приложений для интеграции доступно множество сторонних сервисов статистики - например Clicky, которая анализирует огромное количество параметров, среди которых время посещения, переходы с поисковиков и многое другое. Доступны системы мониторинга сайтов, например Monitis и Pingdom. Уведомления по SMS, Twitter или по эл. почте теперь настраиваются в течение 5 минут. На мой взгляд, самая полезная вещь среди этих приложений - сервис CodeGuard. Он полностью «бекапит» ваш сайт и если он не доступен, то показывает его сохраненную копию. Пользоваться данным сервисом можно бесплатно, если ваш сайт занимает меньше 1 ГБ. Кстати, именно на CloudFlare хостился сайт небезызвестных LulzSec, и именно CodeGuard показывал страницы, когда сервер LulzSec упал.

Заключение

CloudFlare - действительно очень удобный сервис. Согласитесь, защитить сайт, забыть о кешировании, установить статистику и не тратить нервы, если сайт недоступен, просто перенеся сайт на другие DNS - это здорово. А если почти всеми этими возможностями можно пользоваться бесплатно, то такой сервис - просто сказка:)

P.S. : Во избежание глупых обвинений в том, что пост проплачен, я сразу говорю, что не имею никакого отношения к сайту CloudFlare и комании CloudFlare, Inc. (US).

UPD: Заголовок действительно был некорректен, это не DNS-хостинг, а CDN-прокси, пропускающая через себя трафик.