CloudFlare CDN. Что это и зачем? FAQ о CDN-сервисе CloudFlare

к.э.н. Лавлинский Николай Евгеньевич, технический директор ООО «Метод Лаб»

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

Конечно, хочется иметь волшебную кнопку, нажав которую мы получаем быстрый сайт сразу и без проблем. Именно такой кнопкой называет себя сервис Cloudflare. Более того, вы получаете не только скорость, но и безопасность «из коробки». Давайте посмотрим, что нам предлагает Cloudflare с точки зрения скорости сайтов.

Что такое Cloudflare

Cloudflare - это распределённая сеть (CDN), обладающая набором услуг по ускорению сайтов и безопасности. Сеть имеет более 100 точек присутствия по миру и более 15 Тбит суммарной пропускной способности.

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

Так как сайт обслуживается через сервера Cloudflare, есть возможность сохранять и изменять копии статического и динамического контента сайта.

Ускорение сайтов за счет CDN

Как использование Cloudflare и других CDN поможет нам ускорить сайт?

Ускорение сайта в этом случае можно разделить две части: сетевые и контентные оптимизации.

Сетевые оптимизации заключаются в сокращении задержек между сервером и пользователем за счет использования географически распределённой сети и маршрутизации трафика через ближайший узел. Кроме того, узлы CDN как правило специально настроены на высокую скорость отдачи контента: TCP/IP тюнинг, быстрый TLS, поддержка современных протоколов, быстрое подключение к сети, скоростные диски и т. д.

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

Ускорение сайтов в Cloudflare

При подключении к Cloudflare у вас есть выбор тарифных планов: бесплатный, Pro ($20 в месяц), Business ($200 в месяц) или Enterprise (индивидуальный).

Ускорение нам обещают на планах от Pro и выше. Бесплатный план предполагает только использование CDN, без возможностей по оптимизации контента.

В план Pro включены почти все возможности по ускорению: оптимизация изображений (Polish и Mirage), кеширование контента, асинхронная загрузка JS (Rocket loader). Не хватает только Railgun (оптимизация соединения между вашим сервером и сетью Cloudflare), время минимального кеширования 1 час (в Business - 30 минут).

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

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

Для кого ускорение сайта с Cloudflare будет эффективно?

Мы рассмотрели, какие возможности по ускорению сайта могут предоставлять CDN, какие реализованы в Cloudflare и на каких тарифных планах. Какого эффекта можно ожидать от такого ускорения и кому оно будет действительно полезно. А для наглядности мы посмотрим на альтернативные способы решения проблем скорости и их трудоёмкость.

Сетевые оптимизации . Основная оптимизация - географически распределённая сеть для снижения задержек. В реализации Cloudflare имеет смысл только при наличии международной аудитории сайта и использования планов, начиная с Business. Альтернативные решения: собственная реализация распределённой системы (крайне трудоёмко), использование CDN с большим количеством точек в России (низкая трудоёмкость), раздача контента с собственного оптимизированного сервера (средняя трудоёмкость).

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

Оптимизация процесса рендеринга . Этот тип оптимизации отсутствует в Cloudflare, хотя может оказывать значительное влияние на реальную скорость сайта. К этому типу относятся оптимизации размещения CSS, JS-кода, отложенная загрузка элементов, оптимизация приоритетов элементов страницы. Дело в том, что этот процесс сложно автоматизируется и требует ручной работы. Трудоёмкость этой работы может варьироваться от средней до высокой, в зависимости от проекта.

Ускорение генерации HTML на сервере . Этот аспект также не учитывается Cloudflare, так как требует вмешательства в серверное окружение. Частичное решение этой проблемы - кеширование динамического контента (страниц) легко реализуемо как с Cloudflare, так и без. Однако для серьезных проектов полное кеширование динамики невозможно. При этом скорость генерации HTML является ограничивающим фактором для всего сайта. Если страница отдаётся с сервера за 10 секунд, уже неважно, какой CDN используется и как оптимизирован контент - пользователь уже закрыл вкладку браузера.

Заключение

Итак, мы рассмотрели возможности применения сервиса Cloudflare для ускорения сайтов. Краткий вывод: он может быть полезен для сайтов с распределённой аудиторией за пределами России, у которых нет проблем с серверной скоростью (время генерации страницы).

Также не стоит забывать о возможных рисках использования Cloudflare: возможность получить заблокированный в России IP-адрес, ограничения тарифных планов (когда вас настоятельно попросят перейти на более старший) и практику совмещённых SSL-сертификатов.

К сожалению, пока не существует единой кнопки «сделать сайт быстрым», несмотря на все маркетинговые заявления.

Куча возможностей, помощь в переносе, и многое другое.
Хотелось бы начать с того, что данным сервисом можно пользоваться бесплатно. В 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-прокси, пропускающая через себя трафик.

Не только 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.com позволяет защитить сайт от DoS/DDoS-атак, его также можно использовать для настройки DNS-записей домена. В статье рассказано о том, как начать использовать DNS-хостинг CloudFlare, и представлены этапы настройки учетной записи в CloudFlare в случае бесплатного тарифного плана.

Важно! Перед тем как воспользоваться сервисом CloudFlare, вам необходимо предварительно . Ищете, где также ? Наши предложения вас порадуют: вы сможете одновременно и сэкономить при этом.

Регистрация

На сайте CloudFlare.com нажмите «Sign up» для перехода к форме регистрации.

Для осуществления регистрации укажите на появившейся форме e-mail и и пароль в соответствующих полях, а также отметьте галочкой, что согласны с правилами использования сервиса. После этого нажмите «Create Account», чтобы создать учетную запись.

Добавление домена

Введите имя домена и нажмите на кнопку «Scan DNS records».

После этого будет запущен автоматический процесс сканирования ДНС-записей домена, который занимает около минуты. Как только он будет завершен, появится кнопка «Continue», на которую необходимо нажать, чтобы перейти к следующему шагу.

В результате сканирования будет предоставлен список ДНС-записей из существующего файла зоны домена.

Проверьте наличие всех необходимых ДНС-записей. Добавьте недостающие, указав тип ДНС-записи, имя домена или поддомена, ее значение, а также TTL (срок действия) и нажмите «Add record». Если добавляете DNS-запись для поддомена, достаточно указать часть имени поддомена без основного доменного имени. Например, А-запись для поддомена my.vpstestdomain.tk будет выглядеть так:

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

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

После конфигурирования всех необходимых DNS-записей нажимаем кнопку «Continue».

Выбор параметров

После этого выбираем бесплатный тарифный план и нажимаем «Continue».

Направление домена

Последним шагом направления домена на CloudFlare является указание предложенных публичных неймсерверов в Панели доменного регистратора.

Изменив неймсерверы для домена, нажмите «Continue». Обратите внимание, что обновление DNS-записей может занять до 24 часов. Как результат - домен будет направлен на CloudFlare не сразу.

Когда DNS-записи будут обновлены, статус домена будет изменен на «Active».

Теперь управление файлом зоны домена вы сможете осуществлять с помощью CloudFlare, а также получите возможность базовой защиты сайта от DoS/DDoS-атак.

В этой статье вы узнаете: что такое CloudFlare и какие преимущества вы получите используя сеть доставки контента CloudFlare.

Что такое CloudFlare?

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

Какая связь существует между сайт и CloudFlare?

CloudFlare это поставщик, который является третьей стороной при предоставлении услуг клиентам сайт по партнерской программе.

Как работает технология CloudFlare?

CloudFlare работает как reverse proxy (обратный прокси). Это значит, что если веб-сайт является частью сообщества CloudFlare, то весь его трафик направляется через глобальную сеть CloudFlare.

В сети CloudFlare хранятся копии статических файлов в географически близких к веб-посетителям местах, что означает быструю их загрузку. CloudFlare кэширует такие ресурсы, как CSS, JavaScript и изображения. При этом с Вашей стороны не требуется никаких дополнительных усилий – технология CloudFlare автоматически определяет, какие из файлов подлежат кэшированию, исходя из их расширений. Мы не кэшируем динамический контент. Технология также применяет сжатие каждого запроса.

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

Где располагаются центры данных CloudFlare?

Сеть CloudFlare на данный момент располагается в 12 географических точках. Сан-Хосе, Лос-Анджелес, Чикаго, Вашингтон, Нью-Джерси, Даллас (все — США), Амстердам, Париж, Франкфурт, Гонконг, Сингапур и Токио. В каждом из этих узлов CloudFlare осуществляет кэширование и бот-фильтрацию. В сентябре 2011 года будут введены в эксплуатацию дополнительные центры данных в Лондоне и Майами.

Какие типы сайтов могут использовать CloudFlare?

Практически любые сайты могут работать с CloudFlare. Эта технология поддерживает как статические, так и динамические вебсайты. CloudFlare не подходит для сайтов, которые представляют потоковое видео и аудио непосредственно с исходного сервера. Если вы используете YouTube или Vimeo для видеовложений на сайте, такой вариант совместим с CloudFlare.

На моем сайте используется SSL. Что мне делать?

Если у вас есть SSL, Ваш сайт может работать с CloudFlare, но для подключения нужен дополнительный шаг. Если Ваш SSL размещен на собственном суб-домене (то есть на SSL), то убедитесь, что этот суб-домен отмечен серым маркером (деактивирован). Если SSL на корневом домене или www, то Вам нужно обновиться до платного Pro сервиса.

Ускорит и защитит ли CloudFlare мой корневой домен?

CloudFlare может ускорить и защитить только CNAME. Так как ваш корневой домен имеет статус записи А, мы рекомендуем Вам направить ваш трафик на «www» через файл.htaccess. Если Вы не перенаправите трафик, тогда весь трафик к www.mydomain.com будет ускорен и защищен CloudFlare (как указано в статистике), в то время как трафик к mydomain.com не будет обслуживаться CloudFlare.

Есть ли такие суб-домены, которые нельзя активировать под CloudFlare?

Суб-домены в CloudFlare выделяются оранжевым цветом маркера. Суб-домены, не работающие в CloudFlare выделяются серым. Сеть CloudFlare может только проводить трафик как proxy (“по доверенности”) через порты 80 и 443. Во избежание проблем, следующие суб-домены будут отмечены серым:

  • cpanel
  • direct
  • ghs.google.com
  • mail и webmail
  • mysql
  • nameservers (NS1,NS2)
  • secure (до тех пор, пока Вы не активируете CloudFlare SSL)

Могу ли я активировать CloudFlare для суб-домена wildcard?

Нет, из соображений безопасности CloudFlare не проводит трафик в этом суб-домене. Вы должны явно прописать суб-домен в качестве CNAME в своей записи DNS, чтобы получить возможность активировать CloudFlare.

Могу ли я активировать CloudFlare на своем корневом домене (например mywebsite.com) в качестве А-записи?

Если Вы активируете CloudFlare через сайт, он сможет ускорить и защитить лишь CNAME, но не A-записи, которые обычно содержит корневой домен. Если у Вас есть трафик, идущий на корневой домен, и Вы хотели бы ускорить и защитить его с помощью CloudFlare, можно добавить перенаправление на «www» в своем файле.htaccess. Желательно работать через сайт, но в общем плане код перенаправления выглядит так:

RewriteEngine On
# Rewrite added for CloudflareInstall — mysite.com
# Wednesday 25th of August 2010 04:59:42 AM
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ http://www.mysite.com/$1

Я активировал CloudFlare через свой аккаунт сайт. Могу ли я получить аккаунт еще и на CloudFlare.com? В чем разница между ними?

Как только Вы активируете CloudFlare на сайт, Вы автоматически получаете аккаунт и на www.cloudflare.com.. Чтобы увидеть всю статистику, панель управления защиты от угроз и все настройки CloudFlare, нужно войти в аккаунт на www.cloudflare.com.

Примечание: Ваш изначальный временный пароль присылается Вам в приветственном электронном письме.

Я попробовал воспользоваться CloudFlare, но у меня возникли проблемы. Что мне делать?

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