Pretraga...

Kako konfigurisati Cloudflare za WordPress?

U ovom članku objasniću kako sam tačno podesio Cloudflare opcije za svoje WordPress sajtove – da dobijem maksimalnu moguću brzinu i zaštitu, a da sve radi kako treba. Pokazujem sve na besplatnom Cloudflare paketu, koji je svima dostupan bez ikakvih dodatnih troškova.
U posebnim člancima možete pročitati o tome šta je to Cloudflare, kao i o neophodnim DNS podešavanjima za Cloudflare.
Velika većina ovde prikazanih podešavanja će raditi za veliku većinu sajtova, ne samo za WordPress.
U posebnom članku objasnio sam podešavanje za Cloudflare WordPress APO, i za Cloudflare Pro.


Sadržaj:

  1. Uvod
  2. Overview
  3. Analytics
  4. DNS
  5. Email
  6. SSL/TLS
  7. Firewall – sad se zove “Security”
  8. Access
  9. Speed
  10. Caching
  11. Workers
  12. Rules
  13. Network
  14. Traffic
  15. Stream
  16. Custom Pages
  17. Apps
  18. Scrape Shield


0. Uvod

Cloudflare je odličan servis koji pruža dosta brzine, sigurnosti i olakšava život (kod migriranja sajtova i sl.) čak i u 100% besplatnoj verziji (opširnije: šta je to Cloudflare?).

U momentu pisanja ovog članka, Cloudflare ima 17 opcija u glavnom meniju, od kojih mnoge imaju više pod-opcija. Koristiću tu strukturu da prođem kroz sve opcije i objasnim podešavanja koja koristim & preporučujem. Preskakaću opcije na kojima ništa ne treba dirati/podešavati.

Aktuelni Cloudflare meni ima još dve opcije: “Zaraz” i “Web3” – ne koristim ih, pa za sada nisu spomenute ni u ovom članku. Aktuelna verzija je suštinski ista, samo vizuelno drugačija, a prikazana je u članku o Cloudflare Pro i WordPress APO paketima.

17 opcija glavnog Cloudflare menija, sa prikazanih 5 pod-opcija za petu stavku glavnog menija
17 opcija glavnog Cloudflare menija, sa prikazanih 5 pod-opcija za petu stavku glavnog menija

Sve ovde napisano je na osnovu mog znanja i iskustva sa više WordPress sajtova tokom prethodnih godina (koristim Cloudflare za WordPress od 2018. godine). Ovako ja nameštam, ovo meni radi posao, ali sve date savete sledite na sopstvenu odgovornost. Drugim rečima: koristite zdrav razum i nemojte mene kriviti ako nešto pođe po zlu. 🙂

– Sadržaj –


1. – 4. Opcije 1 (Overview) do 4 (Email)

Overview i Analytics meniji su informativnog karaktera. Nude osnovne informacije o vašem nalogu, ali ne sadrže nikakve opcije za podešavanja, tako da ovde nećemo trošiti reči na njih – dosta su jasne i intuitivne sami po sebi.

DNS opcije su detaljno objašnjene u posebnom članku: DNS podešavanja za Cloudflare. Pročitajte taj članak i podesite prvo DNS kako treba. Bez toga, sve ovde prikazane stvari neće raditi.

Email – novi Cloudflare servis. Lično preferiram MXroute i poseban članak posvetio sam podešavanju MXroute mejl servisa.

– Sadržaj –


5. SSL/TLS

5.1. Overview

  • Podesite prvu opciju na “Full (strict)
    Ako vaš server nema dobro podešen SSL/TLS sertifikat, neće hteti da radi sa ovakvim podešavanjem. Posebni članci objašnjavaju kako instalirati SSL/TLS u cPanel-u, i u DirectAdmin SSL/TLS instalaciju.
  • SSL/TLS RecommenderON
    Ne škodi ništa da se ovo aktivira, pa da vas Cloudflare obavesti mejlom ako vaš metod enkripcije može da se unapredi.

5.2. Edge Certificates

  • Edge Certificates – Cloudflare ovo radi automatski i besplatno. Ne treba ništa dirati. Za moj domen tu stoji (i vaš domen bi trebalo da prikaže po istom principu):
    *.bikegremlin.com, bikegremlin.com, i “Status Active”.
  • Always Use HTTPS – OFF
    Volim da ovo isključim, pa proverim da li je moj sajt i server podešen da sve ispravno služi preko HTTPS protokola. Sam po sebi ne smeta ako je uključen, ali trudim se sajtove namestiti tako da rade OK čak i ako ne koristim Cloudflare (za slučaj da počnu naplaćivati skupo, ili im se pogorša kvalitet usluge).
  • HTTP Strict Transport Security (HSTS) – OFF
    Nemojte ovo aktivirati. Ovde sam objasnio zašto mislim da HSTS može zakomplikovati život.
  • Minimum TLS Version1.1
    Ovo definiše najnižu verziju protokola preko koje će sajt dozvoliti konekciju. Nikako nemojte dozvoliti nižu verziju (1.0). Moderni računari i browseri će svakako moći koristiti noviju verziju. Verzija 1.0 (SSL) se smatra nebezbednom i ne bi je trebalo dozvoliti.
  • Opportunistic EncryptionON
    Ovo nije zamena za HTTPS, ali omogućava enkripciju čak i za druge protokole, poput HTTP/2.
  • TLS 1.3ON
  • Automatic HTTPS Rewrites – OFF
    Ako se ovo aktivira, Cloudflare će pokušati da sve linkove, čak i one koji nisu HTTPS, posluži preko HTTPS protokola (ako je dostupan za link/resurs). Slično kao i “Always Use HTTPS” opcija: ne smeta ako se uključi, ali bolje je da vidite ako vam linkovi, ili slike ne idu preko HTTPS protokola, pa da to ispravite.
  • Certificate Transparency MonitoringBetaON
    Cloudflare će proveriti javne spiskove izdatih TLS/SSL sertifikata i javiti vam ako je izdat sertifikat za vaš domen. Ukoliko niste sami (ili vaš hosting server) obnovili sertifikat, dobro je da znate da je neko pokušao i uspeo dobiti sertifikat za vaš domen.
  • Disable Universal SSL – nemojte kliktati na ovu opciju, osim ako želite ručno podesiti TLS/SSL sertifikate za Cloudflare.

5.3. Client Certificates

Ovde ništa ne dirati.

5.4. Origin Server

Ako nemate mogućnost instaliranja sertifikata na svom serveru (obično traži admin nivo pristupa), ovde ništa ne dirajte. Dakle:

  • Origin Certificates – Ne kliktati na ovo.
  • Authenticated Origin Pulls – OFF

Preskačemo i naredni pod-meni “Custom Hostnames.”

– Sadržaj –


6. Firewall – sad se zove “Security”

Preskačemo pod-menije “Overview,” “Page Shield,” i “DDoS.” Oni su za posebne namene i izvan opsega ovog članka. Za većinu sajtova je sasvim OK ako se tu ništa ne dira.

6.2. WAF

Kliknite na “Create firewall rule” i kreirajte ovakvo pravilo (obratite pažnju na vodeće i prateće kose crte “/” – važne su):


6.2.1.

Rule name (required)
WP-admin-protection

When incoming requests match…

  • URI Path | contains | /wp-login.php
    OR
  • URI Path | contains | /wp-admin/
    OR
  • URI Path | contains | /cart/
    OR
  • URI Path | contains | /checkout/
    OR
  • URI Path | contains | /my-account/
    OR
  • URI Path | contains | /?unapproved

Then…
Managed Challenge (Recommended)


6.2.2.

Rule name (required)
cpanel-and-whm-BLOCK

When incoming requests match…

  • URI Path | equals | /cpanel
    OR
  • URI Path | equals | /whm

Then…
Block

Napomena: ovo neće blokirati portove 2083 is 2087 (za cPanel i WHM). Da bi se oni blokirali, treba kliknuti na opciju “edit expression” i ručno uneti (kao tekst):

(http.request.uri.path eq "/cpanel") or (http.request.uri.path eq "/whm") or (cf.edge.server_port in {2083 2087})

U posebnom članku (na engleskom) objasnio sam kako se Cloudflare WAF koristi za blokiranje SPAM-a.

6.4. Bots

  • Bot Fight Mode – OFF
    Ako ovo aktivirate, WordPress REST API i Loopback zahtevi neće raditi kako treba.

Ovo je sasvim OK sve ostaviti na “default-u.” Čak se i umereni bot napadi mogu rešiti opcijama iz narednog pod-menija, kako objašnjavam u nastavku.

Preskačemo sad i “DDoS” pod-meni.

6.6. Settings

  • Security LevelLow
    Stavite ovo na “High,” ili na “I’m Under Attack!” ako imate problema sa napadima botova (probajte prvo sa “High,” to često bude dovoljno, a ne smara sve posetioce sa reCAPTCHA proverama.
  • Challenge Passage1 hour
  • Browser Integrity CheckON
  • Privacy Pass SupportON

Sad preskačemo “Access” meni (tu ništa ne treba dirati) i idemo dalje.

– Sadržaj –


8. Speed

Kao što vidite, preskočili smo “Access” meni (tu ne treba ništa dirati) i požurili na “Speed.” 🙂

8.1. Overview

Bitna stvar ovde je dugme za kupovinu Cloudflare paketa za keširanje WordPress sajta na Cloudflare edge serverima, koristeći Cloudflare WordPress APO (link ka CF sajtu).

Opcija za kupovinu Cloudflare WordPress APO
Opcija za kupovinu Cloudflare WordPress APO

Ovo zadovoljstvo košta 5$ mesečno. Da, možete napraviti da vam sajt bude brz i bez ovoga (serija mojih članaka o optimizaciji sajtova). I da, možete i pomoću raznih caka probati napraviti nešto slično. Glavni problem kada ne platite je omogućavanje da se u zavisnosti od “kolačića” u browseru zaobiđe keš, kako se posetiocima ne bi prikazivale keširane stranica administratora, i obrnuto.

Povećanje brzine je izvanredno kada se stranice pre-kreiraju (keširaju) i služe posetiocima sa Cloudflare servera, direktno. Opet, sajtovi mogu raditi dovoljno brzo i bez ovoga, pa možete uštedeti 5$. Ako imate prodavnicu, pogotovo ako prodajete ljudima stvari koje im ne trebaju, pa dodatnih pola sekunde više za razmišljanje utiče loše na prodaju, platite tih 5$, vredi. Za neprofitne sajtove ovo nema smisla plaćati (moram pitati Cloudflare da me sponzoriše, pa da napravim review sa uporednim rezultatima sa i bez ove opcija 🙂 ).

8.2. Optimization

Ažuriranje, oktobar 2024:
Pod Optimization -> Content Optimization tabom, nalazi se “Speed Brain” opcija (sada u beta fazi). Aktivna je po default-u!?! Da bi vam WordPress sajt normalno radio i normalno se ažurirao, najbolje je da isključite tu opciju.
Isto važi i za “Cloudflare Fonts” opciju (najbolje da je isključite).

  • Image Resizing – Pro opcija (za skuplje, plaćene Cloudflare planove)
  • Polish – Pro opcija
  • Auto MinifyDEčekirajte sve opcije (JavaScript, CSS i HTML) i oslonite se na svoj LiteSpeed plagin za keširanje za to.
  • BrotliON
  • Early Hints – još u beta test fazi. Rado bih testirao i dao povratne informacije za razumnu nadoknadu. 🙂 AŽURIRANJE: najbolje je isključiti ovo (OFF).
  • Automatic Platform Optimization for WordPress – ovde isto možete kupiti Cloudflare WordPress APO.
  • Enhanced HTTP/2 Prioritization – Pro opcija (nije za nas sirotinju 🙂 )
  • TCP Turbo – Pro opcija
  • Mirage – Pro opcija u beta fazi (platiš im da testiraš 🙂 ). Za sada radi OK na većini mojih sajtova.
  • Rocket Loader™ – OFF* (*vidite objašnjene odmah ispod)
    Ovo uglavnom radi dobro kada je aktivirano. Ja sam morao deaktivirati kako bi mi radila Gugl Programabilna pretraga (ažuriranje: pogledajte sliku 12 na tom linku, uspeo sam namestiti da radi, za sada 🙂 ). Barem dok ne skontam koje sve skripte povlači pretraga, pa da samo njih “premostim” – Cloudflare uputstvo za Rocket Loader ignorisanje pojedinačnih JavaScript-i.
    Ako koristite WordPress APO plagin, Cloudflare preporučuje OFF.
  • Railgun™ – ako vaš hosting server ovo podržava, moći ćete aktivirati ovu opciju (kako aktivirati i testirati Cloudflare Railgun). Međutim, ako koristite WordPress APO, Railgun će automatski biti onemogućen za sajt koji ima APO plagin instaliran – jer u tom slučaju nije ni potreban, sadržaj se služi sa Edge servera, keširan.
    Ažuriranje, oktobar 2023: Cloudflare Railgun ide u penziju, pa ova tačka više nije relevantna.
  • Automatic Signed Exchanges (SXGs) – Pro opcija u beta test fazi
  • Prefetch URLs – Enterprise opcija
  • AMP Real URL – OFF
    Aktiviranjem prikazuje pravi URL sajta na AMP verziji sajta. Isključio sam ovo, hoću da bude jasno kad gledam AMP verziju.
  • Mobile Redirect – OFF
    Oni kojima je verzija sajta za mobilne telefone na posebnom (pod)domenu će verovatno hteti da uključe ovu opciju.

Preskačemo “Browser Insights” – nema se šta videti, i idemo dalje.

– Sadržaj –


9. Caching

Preskačemo i “Overview” i idemo pravo na:

9.2. Tiered Cache

  • Argo Tiered CacheON

9.3. Configuration

  • Purge Cache – klik na dugme “Purge Everything” briše sav Cloudflare keš, što je nekad zgodno (sitne CSS izmene i sl.). “Custom Purge” vam otvara meni da unesete spisak URL-ova za koje treba obrisati keš (da se ne briše sve komplet).
  • Caching LevelStandard
  • Browser Cache TTLRespect Existing Headers
    Radi najbolje sa LiteSpeed Cache plaginom.
    Za WordPress APO plagin, podesiti na “4 hours”.
  • CSAM Scanning Tool – pretražiće vaš sajt za “nedozvoljene slike dece” i obavestiti vas. Na dobro zaštićenom serveru ovo vam ne treba (znate šta uploadujete). Ali na sajtovima koji dozvoljavaju članovima da uploaduju sadržaj, ovo bi moglo biti zgodno.
  • Crawler Hints – OFF
    Šalje sve žive stranice pretraživačima, ukjlučujući i back-end stranice koje niko ne treba da vidi niti treba da su dostupne i indeksirane. Najbolje je ovo disejblovati.
  • Always Online™ON, ali nemojte kliktati na “Update,” to je još u beta fazi testiranja.
  • Development Mode – OFF
    Ako ovo aktivirate, zaobići ćete Cloudflare servise i radiće samo kao DNS. Korisno prilikom developmenta i rešavanja problema, mada lično preferiram da to radim na staging okruženju i da “ručno” deaktiviram opcije pri rešavanju problema.
  • Enable Query String Sort – Enterprise opcija

– Sadržaj –


10. Workers

Workers opcije omogućavaju da radite čarobne stvari, čak i besplatno. Međutim, to je tema za poseban članak, ili seriju članaka, u zavisnosti od namene.

– Sadržaj –


11. Rules

11.1. Page Rules

Ovde je redosled bitan! Za svaku posetu stranici, spisak uslova za pravila se iščitava od prvog ka poslednjem, i čim se naiđe na uslov koji je zadovoljen, to pravilo se izvršava, a dalja pravila (ispod) se zanemaruju. Ovo je spisak BikeGremlin pravila:

Spisak Cloudflare Page Rules (pravila)
Spisak Cloudflare Page Rules (pravila)

Drugo pravilo je za redirekciju pod-domena sa www. početkom (nekad sam mislio da je to dobra ideja 🙂 ) na gole pod-domene.

Prvo pravilo je dobra ideja za svaki WordPress sajt i pokazaću ga detaljno. Ako koristite goli domen (bez www.), onda izbacite tačku nakon prve zvezdice, pre imena svog domena.
Mislim da su goli domeni loša ideja (koristim www.bikegremlin.com, ili poddomene kao ovaj – io.bikegremlin.com).

Cloudflare Page Rule za zaštitu "wp-admin"
Cloudflare Page Rule za zaštitu “wp-admin”

Možete napraviti slično pravilo i za *vasdomen.com/wp-login*
Možete staviti i “Security Level” na “I’m Under Attack!”

Preskočićemo “Transform Rules” i idemo dalje.

11.3. Settings

  • Normalize incoming URLsON
  • Normalize URLs to origin – OFF

– Sadržaj –


12. Network

  • HTTP/2 ON
  • HTTP/3 (with QUIC)ON
  • 0-RTT Connection ResumptionON
  • IPv6 CompatibilityON
  • gRPC – OFF
  • WebSocketsON
  • Onion RoutingON
  • Pseudo IPv4 – OFF
  • IP GeolocationON
  • Maximum Upload Size100MB
  • Response Buffering – Enterprise opcija
  • True-Client-IP Header – Enterprise opcija

– Sadržaj –


13. – 16. Opcije 13 (Traffic) do 16 (Apps)

Opcije pod “Traffic,” “Stream,” “Custom Pages” i “Apps” su mahom plaćene (Pro i Enterprise opcije), ili za specijalne namene.

Ovde ne moramo ništa dirati. Idemo dalje.

– Sadržaj –


17. Scrape Shield

  • Email Address ObfuscationON
  • Server-side ExcludesON
    Ova opcija omogućava da koristite “specijalan” HTML tag za komentare kako biste sakrili neki sadržaj (poput broja telefona) od “nečasnih posetilaca,” na primer: “<!–sse–>moj telefon ovde<!–/sse–>
  • Hotlink ProtectionON
    Ova opcija se može i isključiti, pa na nivou hosting servera (.htacces fajla) odrediti za koje pod-domene želite zabraniti korištenje slika na drugim sajtovima (misli se na “embed” slika unutar strana, ne na linkovanje ka slikama).
    Možete i kreirati direktorijum “hotlink-ok” na svom root domenu (kao “https://bikegremlin.com/hotlink-ok/”). Sve slike koje tu stavite će moći da se embeduju na druge sajtove, čak i ako je Hotlink zaštita aktivna.
    Ako koristite WordPress APO plagin, podesite ovo na OFF.

– Sadržaj –

Zanimljivost
Ovaj članak nisam uspeo postaviti na Fejsbuk grupi “WordPress Srbija.” a za to sam dobio ovo obrazloženje:

U grupi želimo da izbegnemo razne oblike samopromocija kako pojedinaca tako i firmi. Iz tog razloga je doneta odluka da se ovakve objave odbijaju. Dozvoljeno je jedino kao komentar ako sadržaj linka precizno odgovara na pitanje i rešava problem.

Administratori

– Sadržaj –


Poslednji put ažurirano:


Prvobitno objavljeno:




Molim Vas da koristite BikeGremlin.net forum za sva pitanja i komentare.

Ako ste primetili neku grešku u članku, ili informacije koje nedostaju - molim Vas da mi na to skrenete pažnju komentarom na BikeGremlin forumu.
Na forumu možete pisati anonimno (stavite bilo koje ime/nadimak pri registraciji), ali mislim da je dobro da sve dopune i ispravke članaka budu javno dokumentovane (čak i ako njihov autor izabere da ostane anoniman).

Skip to content