Newsletter 365tipů můžete číst zdarma. Placené předplatné je dobrovolná podpora, která pomáhá webu pokračovat.
Podpořit 365tipů

TIP#3288: Proč mít web za Cloudflare? Kdy do toho jít, kdy ne a co to přinese (dlouhé čtení)

“Dát web za Cloudflare” znamená, že využijete Cloudflare cache aby odbavovala požadavky místo vašeho vlastního webu. Nutno dodat že právě tohle používá prakticky skoro každý velký (či větší) web na Internetu. Ale panují okolo toho dost podivné mýty a představy.

Ale vezměme to od začátku. O co vlastně jde? Technicky o to, že přesměrujete DNS na Cloudflare a to pak změní IP adresy vašich webových stránek (a čehokoliv dalšího, co budete chtít, aby chodilo tamtudy). A když si někdo/něco vyžádá stránku z vašeho webu, tak je odbavené z Cloudflare – v ten moment je velmi pravděpodobné, že Cloudflare právě tu stránku už bude (když máte vše zapnuté a správně nastavené) mít ve svém “cache”, prostě ji tam bude mít předpřipravenou. A ušetří to zátěž vašemu serveru.

Dokáže takto odbavovat nejen někoho nebo něco, ale klidně i roboty, útoky, záplavy požadavků. Něco, co by za normálních okolností váš web sestřelilo. 

Pokud váš web, tedy váš hosting/web, přestane fungovat, tak Cloudflare  může odbavovat věci, co má v cache do doby, než se váš web vzpamatuje (nebo, samozřejmě, vyprší platnost zapamatovaných věcí).

Pomůže i blokovat či jinak pracovat s roboty, AI roboty, automatizovaným stahováním (scrapingem), některými bezpečnostními útoky. 

Zachrání vás i třeba v okamžiku, kdy se váš web nárazově stane nesmírně populární. 

Zlepší se zpravidla i dostupnost (a rychlost) vašeho webu z celosvětového pohledu. A je dost pravděpodobné, že bude i rychlejší, i pokud ho máte v Česku a přistupuje na něj někdo z Česka. Tedy jedině že byste měli fakt extrémně nabušený výkonný hosting za kupu peněz.

Budete vědět i řadu zajímavých informací o návštěvnosti a využití vašeho webu, které byste možná bez Cloudflare ani neměli. 

Jde to mít zadarmo a k dispozici jsou odstupňované placené režimy – postupně toho umí víc a víc, jsou chytřejší, rychlejší. 

Jak to tam dostat

Není to vlastně až tak složité, ale musíte trochu vědět, co děláte. Založíte si u Cloudflare účet, přidáte si tam váš web a přesměrujete jmenné servery pro doménu na ty od Cloudflare – pak už jen počkáte, až přesměrování proběhne a nastavíte nějaké další parametry.

Hned po aktivním přesměrování to začne fungovat pro statické soubory (obrázky, CSS, JS podle přípony). Jakmile budete chtít, aby se to týkalo dalších věcí, tak začnete přidáním pravidla (Cache Rule) s „Cache Everything“ a pak budete mít čas ladit další věci. Dynamicky generované stránky, formuláře, funkčnost pro přihlášení uživatele, co “cachovat” a na jak dlouho. 

Pak to necháte běžet a průběžně kontrolujete, co se tam děje, co je vhodné ještě donastavit, změnit, přidat nějaké další funkčnosti. 

První Cloudflare jsem si zprovozňoval před lety, prostě jsme to chtěl zkusit – pro prtipy.cz. Dnes už je to podstatně jednodušší – takže jsem tam před pár týdny přidal nějaký další menší web (tuším kolotipy.cz) a vytvořil si tak instalační “šablonu” a pomocí užitečného software od Cloudflare to pak aplikoval i na další weby – kocicitipy.cz, 365tipu.cz a největšího bumbrlíčka, feedit.cz

Šlape to krásně, dramaticky se zmenšil počet výpadků/nedostupnosti a je to i tak o 20 procent rychlejší v odbavení stránek. Blokuje to i záplavu botů a divných věcí, včetně čerstvého a velmi dobrého blokování AI botů. A pro můj hosting, Blueboard.cz, to znamená, že jim míň zatěžuju servery. 

Některé mýty a nedorozumění

Někdo mi v reakci na “přestěhování za Cloudflare” napsal, že je to služba “plná výpadků a problémů”. Není, ale to si lze snadno ověřit v řadě zdrojů, včetně přímo třeba na cloudflarestatus.com.

Další námitka byla, že když nepojede Cloudflare, tak nepojedou moje weby. Inu ano, nepojedou. Ale nejedoucí Cloudflare je výjimečné a pak většinou nejde půlka Internetu. A naopak weby za Cloudflare jsou v mém případě záruka, že pojedou mnohem lépe a bez výpadků než bez. Prostě proto, že nemám spoustu peněz na silné hostingy, cloudy a podobné věci.

Další z argumentů je, že to je prý “pomalé”, protože to je někde v USA. Jasně že není, je to dost neuvěřitelná celosvětová síť odbavující požadavky z nejbližších míst. A reálně, jak už jsem psal výše, to pro ty mé dva největší, 365tipu.cz a feedit.cz přineslo minimálně 20% zrychlení.

Cloudflare Workers je další skvělá věc co to umí. Mrkněte do mých Cloudflare Worker Tools na Githubu

Někdo mi k tomu i napsal, že “bez placení je to nepoužitelné”. Což je další omyl, na to, k čemu to potřebuji, stačí perfektně “free tier”. A pokud by kterýkoliv z webů byl náročnější, tak by s tím mělo být spojené, že také přináší více peněz. A vydělá si tedy na nějaký vyšší “tier”.

Dobré vědět

Cloudflare je, jak jinak, další bigtech a koncentruje “přístup na web” do rukou jednoho hráče a to navíc americkou firmu (mohou zde být otazníky týkající se GDPR, pokud se vás to týká). 

Chybět vám na webu může skutečná IP návštěvníka a musíte s tím tedy počítat (IP adresa se předává v hlavičce, takže to je řešitelné). 

Musíte si uvědomit i to, že váš server stále poběží na původní IP adrese a pokud ji útočník zjistí, tak může útočit napřímo. Takže, pokud to můžete, tohle ošetřit i přímo na serveru – tedy aby odbavoval jen požadavky z Cloudflare a vaší firemní/domácí sítě. 

Caching/proxy se samozřejmě netýká MX a e-mailů a protože jste přesměrovali NS záznamy na Cloudflare, musíte vše nově spravovat tam.

Pro úspěšné zprovoznění v širší podobě je třeba znát víc věcí, ale vrátí se k tomu ještě určitě minimálně jeden tip.

Pro koho to dává smysl

Tohle je důležité. Hlavně weby, kde většina návštěvníků vidí totéž. Blogy, magazíny, firemní prezentace, dokumentace, databáze obsahu. Což jsou vlastně všechny mé weby. A platí i, že čím větší podíl anonymních návštěvníků, tím větší přínos. 

Čím slabší máte hosting, tím větší efekt. Kdo má výkonný VPS s vlastním cachováním, získá výrazně méně.

WordPress je ideální kandidát. Je to nejnapadanější CMS na světě a přitahuje boty i bez ohledu na návštěvnost. Ochrana wp-login.php a xmlrpc.php je hodnota sama o sobě, nezávisle na cache.

Perfektní pro weby s nárazovou návštěvností. Jednou za čas se něco chytne a normálně by to server položilo.

Stejně tak pro weby, které někdo systematicky stahuje. Scrapery, AI crawleři, agregátory.

Pomůže i pokud máte mezinárodní publikum, i kdyby jen okrajově.

Výhodné i pro někoho, kdo spravuje víc webů najednou. Konfigurace se dá replikovat a náklad na správu klesá s každým dalším webem. 

Pro koho to smysl nedává (nebo je to práce navíc)

E-shopy. Fungovat to bude, ale košík, checkout, ceny podle přihlášení a skladovost vyžadují pečlivé bypass pravidla. Zcachovaný cizí košík je noční můra, kterou nechcete zažít. Není to nemožné, je to jen práce a vy o tom musíte vědět předem.

Členské sekce, portály, cokoli za přihlášením. Když je většina obsahu personalizovaná, cache nemá co dělat — zbude vám WAF a DDoS ochrana, což může stačit, ale hlavní přínos odpadá.

Aplikace v reálném čase. Chaty, dashboardy, WebSockets — funguje, ale přidáváte vrstvu bez užitku.

Video a velké soubory. Free tier na tohle podle podmínek použití není určený. Kdo hostuje video, ať to řeší jinak.

Weby s přísnými požadavky na to, kudy data tečou. Americká firma, provoz prochází přes ni) a pro některé weby a služby to může být problém.

Kdo nechce nic spravovat. Cloudflare zapnutý bez konfigurace dá zlomek toho, co umí, a špatně nakonfigurovaný rozbije web způsobem, který se hledá blbě. Není to „zapnout a hotovo“.

Kdo nemá kontrolu nad DNS domény. Triviální, ale bez toho nic nezprovozníte.