Co to jest Cloudflare? Do czego mogę wykorzystać Cloudflare?

Cloudflare to usługodawca dostarczającym CDN – Content Deliver Network oraz zarządzanie serwerami DNS – Domain Network Server. Firma powstała w roku 2009 w San Franciso, a założycielami są Matthew Prince, Lee Holloway i Michaelle Zatlyn. Posiada 46 data-center na całym świecie.

Cloudflare posiada usługi płatne – przeznaczone na rynek profesjonalny np. duże serwisy WWW z treścią video, płatne skrypty (np. anty adblocker) oraz darmowe, na których skupimy się w tym artykule. Wiele osób nie zdaje sobie sprawy z tego jaki potencjał oferuję własnie ta usługa. Dlatego warto zapoznać się z tekstem – znajdziesz tutaj informacje o zaletach, konfiguracji i wadach takiego rozwiązania.

Jak działa CloudFlare?

Najważniejszym działaniem Cloudflare jest ukrycie twojego serwera i stworzenie „filtra”. Oznacza to że dany użytkownik internetu, boty wyszukiwarki czy spamerzy najpierw łącza się z adresem IP CloudFlare, który działa jako „proxy„, następnie to własnie CloudFlare serwuje użytkownikowi dane z twojego serwera – w wyniku czego nie następuje wyciek adresu IP serwera, na którym stoi twoja strona bądź sklep internetowy.

Ważnym elementem jest to że w zależności od lokalizacji – dany użytkownik łączy się z najbliższym punktem CloudFlare – w wyniku czego dany użytkownik otrzymuje najszybszą trasę DNS do twojego serwera (zielona linia na zdjęciu powyżej)

Dodatkowo sama usługa oferuje bardzo dużo, dodatkowych rozwiązań, które są łatwo dostępne i innowacyjny panel administracyjny, w którym znajdują się statystyki oraz opcje wyboru usługi.

Zalety stosowania CloudFlare

W dalszej części artykułu znajdziesz wszystkie informacje o ofercie CloudFlare, natomiast najważniejszymi zaletami korzystania moim zdaniem jest:

  • Ukrycie adresu IP serwera – jeżeli posiadamy własny serwer dedykowany, vps to dana osoba może z łatwością sprawdzić jakie strony internetowe znajdują się pod danym adresem IP. Wyobraźmy sobie sytuacje że masz swoją stronę domową plus dodatkową stronę, o której nie chcesz by się ktoś dowiedział to CloudFlare jest dobrym wyborem.
  • Kwestie prawne związane z IP – CloudFlare jest amerykańską firmą, dlatego też podlega pod prawo amerykańskie – twoja strona zwraca IP CloudFlare – więc by uzyskać informacje o realnym położeniu serwera trzeba uzyskać nakaz od CloudFlare. Z informacji w internecie wynika że CloudFlare bardzo rzadko udostępnia lokalizacje, szczególnie gdy prośby wysyłane są z Polski. Jeżeli chcesz zgłosić nadużycie danej strony – to tutaj znajdziesz formularz i więcej informacji.
  • Skrócenie czasu dotarcia pakietów pomiędzy klientem a serwerem. Przykładem może być wykorzystanie programu tracert (windows) i traceroute (linux) by zobaczyć jak wygląda dojście do strony przy włączonym CloudFlare i bez niego.
  • Realne przyśpieszenie ładowania się strony. Dzięki działaniu cache i opcji rocket loader strona wczytuję się szybciej i mniej wykorzystywane jest zapotrzebowanie serwera. Dodatkowo CloudFlare oblicza zapotrzebowanie i liczbę zapytań o konkretne pliki znajdujące się na stronię.
  • Ograniczenie transferu hostingowego. CloudFlare wykonuje cache elementów strony, dzięki czemu przejmuje część obciążenia serwisu na swoje serwery. W moim wypadku 25% obciążenia transferowego zostało przejęte przez CloudFlare.
  • Analityka liczby requestów serwerowych i unikalnych użytkowników – Statystyki informują o tym jakie było zapotrzebowanie na stronę i ilu użytkowników uzyskało dostęp do strony. Oczywiście dane dotyczą wszystkich elementów – takich jak boty spamerów, roboty Google itp i są obliczane na podstawie unikalnych adresów IP.
  • Anty DDOS – w przypadku gdy uzyskamy ogromny przyrost ruchu w krótkim czasie (np. poprzez wrzucenie strony na wykop.pl) to CloudFlare może limitować i „dawkować” taki ruch w wyniku czego serwer nie jest tak bardzo obciążony.
  • Strona zawsze aktywna – gdy serwer przestanie odpowiadać, CloudFlare pokaże użytkownikowi odwiedzającemu stronę cache strony zamiast błędu witryny.
  • Ochrona treści i ochrona przed spamem – poprzez aktywne działania CloudFlare wyłapuje czy ktoś crawluje naszą stronę oraz jakie adresy IP trafiają do nas – dzięki czemu blokuje podejrzane adresy IP. Jak już wspomniałem nie mam na swojej stronie captchy, a spamu nie dostaje 🙂
  • Szybka aktualizacja DNSów – w firmach hostingowych czas propagacji trwa 12-24h. CloudFlare umożliwia to 5 minut np. stworzenie subdomeny.
  • Darmowy SSL – w łatwy i przystępny sposób można uruchomić SSL na swojej stronie bez ingerencji w serwer strony.

Wady CloudFlare

Jak każde z narzędzi i rozwiązań, również CloudFlare jest nie wolne od wad. Najważniejsze z nich moim daniem są:

  • Dane i ich dostępność – wszystkie dane są filtrowane przez serwery CloudFlare, które są zapewne monitorowane przez służby różnego rodzaju.
  • Problem z konfiguracja maili hostingowych – bardzo ważny problem dotyczący zmiany DNSów – niestety gdy posiadamy hosting typu home.pl to zmiana dnsów oznacza utracenie poczty firmowej w hostingu home.pl. Jeżeli chcesz ustawić w hostingu dnsy cloudflare.
  • Błędy ludzkie i wycieki danych – wystarczył jeden prosty błąd w zmiennej by dane z CloudFlare wyciekały przez 5 dni.

Dla kogo poleciłbym CloudFlare?

Jeżeli posiadasz własny serwer, bądź VPS to powinieneś zainteresować się tym rozwiązaniem ponieważ może zaoferować Ci bardzo dużo. Dodatkowo można wykorzystać CloudFlare przy sklepach internetowych – szczególnie gdy ktoś nam grozi atakiem DDOS i próbuje wyłudzić pieniądze za spokój.

Nie polecałbym tego rozwiązania dla osób bądź firm, które mają wykupione usługi hostingowe – zmiana DNSów spowoduje problemy i brak pełnej funkcjonalności w systemie hostingowym danej firmy (np. brak poczty, brak możliwości przekierowania folderów itp).

CloudFlare a SEO i wyszukiwarka Google?

Jest to ciekawy temat, jak wpływ CloudFlare wpłynie na wyszukiwarkę Google i robota crawlującego? Moim zdaniem nie ma to znaczenia. Oczywiście adres lokalizacji IP strony się zmieni (IP CloudFlare wskazuje na San Francisco / Stany Zjednoczone) ale nie ma to zgubnego wpływu na SEO – poprawa jakości szybkości, ładowania się strony wpływa pozytywnie na robota Google.

Dodatkowo pamiętajmy o tym że adres IP CloudFlare posiada tysiące stron – kiedyś wielu specjalistów uznawało to za błąd i ryzyko. Moim zdaniem tego ryzyka nie ma.

Teoretyczne moglibyśmy zablokować w CloudFlare dostęp dla robota Google co wywołało by gigantyczne spadki – ale po co mielibyśmy to robić?

Wnioski te bazują na doświadczeniach z moją stroną – po stronie Google nie mam problemów i strona ładnie rośnie w Google Search Console, lecz by wykonać prawdziwy test to trzeba mieć naprawdę dużą stronę o ogromnym ruchu i widoczności – i tylko przepiąć na DNS w celu oszacowania różnicy.

Duże serwisy internetowe, które zaufały CloudFlare?

Z CloudFlare korzysta około 6 mln stron internetowych w tym miejscu wyróżniamy następujące duże serwisy korzystające z CloudFlare:

  1. 4chan.org
  2. zendesk.com
  3. uber.com
  4. yelp.com
  5. jquery.com
  6. thepiratebay.org

A z polskich?

  1. demotywatory.pl
  2. fotka.pl
  3. kwejk.pl
  4. peb.pl
  5. sadistic.pl

Co oferuje CloudFlare?

Na podstawie panelu administracyjnego opisze poszczególne – darmowe rozwiązania oferowane przez CloudFlare.

Analityka strony

Cloudflare jako „przekaźnik” monitoruje wszystko co próbuje dostać się na twoją stronę internetową. Dane są przechowywane przez miesiąc. Otrzymujemy następujące dane:

  • Requests (requesty serwerowe) – podzielone na te przejęte przez CloudFlare i nie. Zazwyczaj CloudFlare cachuje wszystko oprócz kodu HTML. query string – tzn. gdy w adresie URL jest GET.

DNS (Domain Name Server)

W zakładce znajdują się opcje kierowania DNSów CloudFlare – czyli w jakie miejsce mają one kierować. Ważna zaletą dnsów od cloudflare jest to że zmiany są momentalnie aktualizowane.

W przypadku DNSów hostingowych (jak home.pl, ovh.pl i innych) czas propagacji jest często w okolicach 12-24 godzin. Natomiast w CloudFlare jest to aktualizowane momentalnie – do 5 minut.

W przypadku status chmurki, widocznego na zdjęciu powyżej – ważnym elementem jest to by każda z subdomen była aktywna w CloudFlare. Jeżeli subdomena serwisu nie posiada aktywnej usługi to adres serwera IP wycieka z takiego źródła.

Crypto

W zakładce Crypto znajdują się opcje dotyczące ustawienia połączenia szyfrowanego – SSL, którego nie trzeba fizycznie instalować na serwerze – a wystarczy je włączyć w opcjach, czas po którym otrzymamy SSL wynosi do 24 godzin w darmowej wersji. Darmowa opcja SSL jest dzielona na maksymalnie 50 użytkowników CloudFlare.

Istnieje też możliwość pobrania klucza RSA i instalacji na serwerze ręcznie.

Jeżeli chodzi o integracje CloudFlare z WordPressem / E-commerce to należy uważać z bezmyślnym włączeniem SSL – jeżeli dany CMS czy Sklep jest źle skonfigurowany pod CloudFlare to użytkownicy strony otrzymają błąd 500.

SSL w CloudFlare

Dodatkowo istnieje możliwość kupna dedykowanego SSL do twojej domeny – za 5$ miesięcznie.

Dodatkowymi opcjami załączonymi w tej zakładce są:

  • HTTP Strict Transport Security (HSTS) – jest to nagłówek, który ma za zadanie zmusić przeglądarkę internetową do łączenia się tylko za pomocą bezpiecznych połączeń HTTPS.
  • Authenticated Origin Pulls – Opcja ta zapewnia weryfikacje SSL CloudFlare z requestami do twojej witryny. W skrócie chodzi o to by zablokować danego użytkownika, bota poprzez fizyczny dostęp do serwera, gdy stara się „obejść” proxy CloudFlare
  • TLS 1.3 – Najnowsza i najszybsza wersja protokołu który szyfruje dane pomiędzy twoją stroną a użytkownikiem. Jeżeli szyfrowanie jest aktywne, uzyskamy zielono kłódkę przy adresie domeny.
  • Require Modern TLS – Opcja wymusza używanie najnowszych protokołów 1.2 i 1.3 TLS. Oznacza to większe bezpieczeństwo szyfrowanych danych kosztem ograniczenia dostępu ze starych przeglądarek internetowych, które nie obsługują tych wersji protokołów TLS.
  • Automatic HTTPS Rewrites – wymusza by wszystkie elementy http:// były kierowane przekierowaniem 301 do https://.

Firewall

Firewall CloudFlare umożliwia zablokowanie określonych adresów IP, krajów lub reguł zapytań do twojej strony www. Darmowa opcja umożliwia do 10 tyś zablokowanych requestów do serwera, lecz nie mamy możliwości ustawienia konkretnych adresów URL w darmowej wersji. Koszty usługi są zależne od ilości jakich zablokujemy – 10 tyś requestów to 0,05$.

Jest to interesujące rozwiązanie – w łatwy sposób możemy np. zbanować wszystkich tych, którzy próbują wejść np. na adres logowania do twojej strony www.

Security Level

Najważniejszym elementem tej zakładki jest Security Level, gdzie ustawiamy opcje kiedy dla użytkownika wyświetli się monit CloudFlare z captchą.

Przykładowo, gdy ustawimy najwyższy poziom – użytkownicy naszej strony otrzymają następującą informacje o DDoS Protection.

Challenge Passage

Element Challenge Passage oznacza to ile czasu strona będzie dostępna po wykonaniu testu Captcha. Captcha w przypadku CloudFlare wyświetla się dla adresów IP o słabej reputacji, bądź generujących duże ilości requestów – np. adresów spamerskich, crawlerach itp.

Rozwiązanie CloudFlare świetnie radzi sobie ze spamem – mogę to potwierdzić bo mimo braku captchy w formularzach na stronie nie otrzymuje tony śmieciowego spamu.

Access Rules

W tej tabeli możemy umieścić adresy IP, które FireWall będzie ignorował. Zalecam umieszczenie tutaj adresów IP naszego serwera i przypisanie im wartości Whitelist – tak dla pewności.

W opcji darmowej nie możemy ustawić konkretnej opcji dla danego kraju 🙁

Access Rules w CloudFlare

Opcje które mamy do wyboru:

  • Block – blokujemy dostęp z konkretnego adresu IP.
  • Challenge – wyświetlamy opcje Captchy dla użytkownika, jak w zdjęciu z sekcji Challenge Passage
  • Whitelist – brak działania po stronie firewalla.
  • Javascript Challenge –wyświetla stronę z licznikiem 5 sekund zdjęcie z zakładki „Firewall”. Jest to świetne rozwiązanie na różnego rodzaju boty (np. narzędzie Screaming Frog Spider zwraca kod 503)

Monitoring reguł

Zakładka posiada również informacje o wydarzeniach związanych z blokadami – jeżeli dany, zablokowany adres IP próbuje wejść na stronę, to otrzymamy informacje na ten temat.

Jak wykorzystać Firewall CloudFlare?

Jeżeli posiadamy swój serwer to możemy w łatwy sposób sprawdzić jakie adresy IP nas odwiedzają, poprzez analizę logów serwerowych w apache – np. narzędziem vnstat. 

Wiele wtyczek do WordPressa umożliwia analizę zapytań (np. wtyczka Redirection monitoruje wszystkie adresy URL, które wygenerowali użytkownicy / boty z błędem 404).

Jeżeli takie skany powtarzają się z tego samego IP to możemy w łatwy sposób go wykluczyć w opcjach CloudFlare.

Access

Nowa opcja, umożliwająca w łatwy i przystępny sposób integracje strony internetowe z aplikacjami typu Facebook, Google czy GIT. Opcja jest w formie betatestów. Opisze darmowe opcje tej zakładki.

Access w Cloudflare

Speed

Kolejne świetne rozwiązanie od CloudFlare – automatyczna minifikacja plików HTML, JS oraz CSS. Minifikacja usuwa zbędne komentarze, białe znaki z wygenerowanego pliku HTML. Podobnie zachowuje się np. wtyczka Autooptimize dostępna do WordPressa.

Prędkość CloudFlare

AMP

Opcja umożliwia włączenie Accelerated Mobile Links, które jest wykorzystywane do  przyśpieszenia i polepszenia jakości przeglądania strony dla użytkowników mobilnych. Jest to opcja beta, według CloudFlare pozwala to przyśpieszyć strone mobilną conajmniej 3 krotnie.

AMP CloudFlare

Opcje AMP – Accelerated Mobile Links w CloudFlare

Rocket Loader

Rocket Loader ma za zadanie przyśpieszenie wczytywania się plików JavaScript na stronie, oznacza to znaczne przyśpieszenie dodatkowych skryptów (jak np. reklamy, pluginy społecznościowe i inne).

Opcja też cachuje pliki poprzez LocalStorage – na większości przeglądarek oraz smartfonach.

Rocket Loader - Javascript Cloudflare

Rocket Loader – Javascript Cloudflare, Rocket Loader – Javascript Cloudflare, Rocket Loader ustawia asynchroniczne wczytywanie sie plików JavaScript – oznacza to że pliki wczytują się w tym samym czasie, a nie po kolei. Gdy mamy kilka plików .js z czego jeden jest wczytywany z zewnątrz – to pobranie takiego skryptu może skutecznie zablokować wczytywanie się innych zasobów co przedłuży łączny czas wczytania się strony.

Mobile Redirection

Jeżeli posiadamy dedykowane rozwiązanie mobilne – w tym miejscu możemy ustawić automatyczne przekierowanie do takiej strony.

Przekierowanie Mobilne w Cloudflare

Przekierowanie użytkowników mobilnych w Cloudflare

Oznacza to że przekierowaniem zajmie się CloudFlare, który wykryje czy dany użytkownik jest na smartfonie – tym samym serwer na którym znajduje się nasza strona nie otrzyma takiego requestu.

Caching

Zakładka umożliwia zarządzanie elementami cache twojej strony.  Jest to ważny element – jeżeli często aktualizujemy naszą stronę, a szczególnie pliki typu .css, .js czy zdjęcia.

Caching w Cloudflare - Web Performance & Security

Dopóki nie odświeżymy cache – to wyświetlają nam się elementy, które zostały po raz pierwszy odwiedzone. Przykładowo gdy nadpisujemy plik zdjęcia w bibliotece WordPressa to CloudFlare i tak wyświetla nam stare, wygenerowane zdjęcie.

Caching Level

Caching Level umożliwia nam opcje wyboru w jaki sposób ma działać cache:

  • No Query String – Występuje gdy element nie posiada znaczników query. Przykład: strona.pl/pic.jpg
  • Ignore Query String / Simple – Ignoruje adresy query i wczytuje plik bez query. Przykład: strona.pl/pic.jpg?width=350px – ignoruje.
  • Standard / Agressive – Cache każdego adresu URL – łącznie z query. Przykład: strona.pl/pic.jpg?z=query

Browser Cache Expiration

Czas po jakim ma się odświeżać cache strony. Rekomenduje ustawienie tej opcji w zależności od częstotliwości zmian na stronie plików.

Długość Cache w CloudFlare

Always Online

Jeżeli  posiada cache plików html, to mimo że strona nie działa – to udostępni jej ostatni cache dla odwiedzających. Jest to dobre rozwiązanie gdy np. uzyskamy nagle duży ruch na stronie i serwer nie wytrzyma to użytkownicy i tak będą w stanie zobaczyć dane, szukane informacje.

Always Online CloudFlare

Always Online CloudFlare

Development Mode

Jest to opcja, która tymczasowo dezaktywuje cache – jest to rozwiązanie gdy pracujemy nad stroną, nadpisujemy pliki i nie chcemy co chwile czyścic cache CloudFlare.

Tymczasowa dezaktywacja Cache w CloudFlare

Tymczasowa dezaktywacja Cache w CloudFlare

Page Rules

Umożliwia ustawienie kontroli nad wybranymi adresami URL – w przypadku darmowej wersji 3 adresy URL.

Dla konkretnego, sprecyzowanego adresu URL można ustawić dowolną opcje

Network

Obsługa i opcje sieci strony internetowej – umożliwia ustawienie takich elementów jak:

HTTP2 w CloudFlare

Ustawienia sieci i http2 w CloudFlare – Network

HTTP2

Nowy protokół http, związany z ulepszonym zarządzaniem zapytań do serwera, umożliwia przyśpieszenie ładowania się strony. Najważniejszym elementem http2 jest pobranie kilku elementów strony jednym zapytaniem serwerowym,

IPv6 Compatibility – wsparcie IPv6,

WebSockets

Websockets jest to stałe połączenie pomiędzy serwerem a klientem, które pozwala na wymianę danych bez ciągłego, ponownego łączenia (restablishing sessions), co przyśpiesza otrzymywanie danych. Rozwiązanie jest używane w grach komputerowych i czatach na żywo.

W przypadku CloudFlare wystarczy włączyć opcje.

Pseudo IPv4

Jeżeli klient używa IP w wersji 6, a serwer wspiera tylko IPv4 to CloudFlare dodaje dodatkowy nagłówek do zapytania.

IP Geolocation

Umożliwia przypisanie do nagłówka HTTP zmiennej o kraju pochodzenia użytkownika, dzięki czemu możemy pobrać te dane.

$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

Maximum Upload Size

Limit ustawienia maksymalnego transferu pliku w jednym zapytaniu serwerowym. W opcji darmowej jest dostępna tylko jedna wersja – 100 MB.

Traffic

Opcje w tej zakładce przeznaczone są dla klientów premium i dotyczą one połączeń w CloudFlare oraz zarządzania serwerami – np. poprzez geograficzne kierowanie, balans serwerowy i automatyczne przełączenie.

Sekcja Traffic w panelu CloudFlare

Zakładka Traffic CloudFlare

Customize

Opcje CloudFlare

Możliwość blokady krajów w wersji PRO

Jak sama nazwa wskazuje sekcja dotyczy wyglądu błędów i informacji generowanych przez CloudFlare – w tym miejscu klienci premium mają możliwość ustawienia dowolnych stron blokad, błędu 500 czy elementu Always Online