Configurare Cloudflare pentru site-uri web de afaceri: viteză și securitate, pas cu pas
Punerea unui site web de afaceri în spatele Cloudflare durează o după-amiază și elimină categorii întregi de probleme: pagini lente pentru vizitatori îndepărtați, inundații de trafic, roboții care vă ciocănesc autentificarea. De asemenea, introduce noi modalități de a sparge lucrurile dacă este făcut cu neglijență. Acest ghid acoperă ordinea de configurare, setările care contează și greșelile pe care le vedem cel mai des.
Pe scurt
- Cloudflare face trei lucrări pentru dvs.: DNS, un cache global (CDN) și un strat de securitate în fața serverului dvs. (protecție DDoS, reguli firewall, filtrare bot).
- Utilizați modul SSL Complet (strict), niciodată Flexibil. Apoi blocați-vă serverul, astfel încât să accepte trafic web numai de la Cloudflare, altfel atacatorii îl pot ocoli pur și simplu.
- Memorați în cache fișierele statice în mod agresiv, nu stocați niciodată în cache paginile private sau de administrare și ștergeți cache-ul automat când implementați.
- Adăugați câteva reguli vizate: limitați rata de conectare și finalizare a plății și scutiți webhook-urile de plată de provocări.
- Înregistrările de e-mail trebuie să rămână numai pentru DNS, iar jurnalele dvs. au nevoie de restabilirea IP-ului real al vizitatorului. Aceste două detalii provoacă majoritatea biletelor „s-a spart după Cloudflare”.
Cloudflare se află între vizitatorii tăi și serverul tău. Vizitatorii se conectează la centrul de date Cloudflare din apropiere, care servește direct fișierele stocate în cache, filtrează traficul ostil și redirecționează restul către serverul tău. Pentru o afacere, asta înseamnă pagini mai rapide pentru clienți, departe de locația dvs. de găzduire, protecție împotriva inundațiilor simple de refuzare a serviciului și un loc pentru a aplica regulile de securitate fără a schimba codul aplicației. Multe planuri încep gratuit, iar planurile plătite adaugă funcții, așa că verificați compararea planului curent înainte de a decide.
Nu este un substitut pentru software-ul corectat și codul securizat. Lista noastră de verificare a securității PHP încă se aplică. Gândiți-vă la Cloudflare ca la o ușă puternică din față, nu la un înlocuitor pentru încuierea camerelor în interior.
Înainte de a începe
- Faceți un inventar al DNS-ului dvs. Exportați sau capturați fiecare înregistrare la furnizorul DNS actual, inclusiv e-mail (MX, SPF, DKIM, DMARC) și înregistrările de verificare. O înregistrare ratată este modalitatea clasică de a rupe e-mailul în timpul unei migrări.
- Aflați cine deține contul de înregistrare a domeniului și asigurați-vă că este un cont de companie cu autentificare multifactor. Veți schimba serverele de nume acolo.
- Reduceți TTL- ul înregistrărilor cheie cu o zi înainte, dacă puteți, astfel încât modificările să se răspândească mai repede.
- Alegeți un moment liniștit și spuneți echipei. Planificați un rollback: vechile servere de nume, notate.
Pasul 1: adăugați site-ul și examinați DNS
Adăugați domeniul dvs. în tabloul de bord Cloudflare. Scanează înregistrările existente. Comparați-le cu inventarul dvs. și remediați golurile. Pentru fiecare înregistrare, alegeți dintre două moduri:
- Proxied (nor portocaliu): traficul trece prin Cloudflare. Utilizați pentru site-ul dvs. web și numele de gazdă a aplicațiilor web.
- Numai DNS (nor gri): Cloudflare doar răspunde la interogarea DNS. Utilizați pentru servere de e-mail, nume de gazdă SSH sau FTP și orice lucru care nu este trafic HTTP sau HTTPS.
Apoi actualizați serverele de nume de la registratorul dvs. Odată ce site-ul este activ, verificați-vă site-ul și trimiteți un e-mail de testare.
Pasul 2: configurați corect criptarea
Aceasta este setarea care sparge cele mai multe site-uri. Cloudflare are mai multe moduri SSL/TLS:
- Flexibil: criptează vizitatorul Cloudflare, dar trimite traficul către serverul tău necriptat. Se pare că funcționează, dar al doilea picior este deschis și adesea provoacă bucle de redirecționare. Evita-l.
- Complet: criptează ambele picioare, dar nu verifică certificatul serverului tău.
- Complet (strict): criptează ambele picioare și verifică certificatul de pe serverul tău. Acesta este cel de folosit.
Instalați mai întâi un certificat valid pe serverul dvs. Ambele funcționează un certificat Cloudflare Origin CA sau un certificat gratuit Let's Encrypt. Apoi treceți la Full (strict), activați Always Use HTTPS, setați o versiune TLS minimă de 1.2 și activați HSTS numai după ce totul funcționează prin HTTPS, deoarece HSTS le spune browserelor să refuze HTTP simplu pentru o lungă perioadă de timp.
Pasul 3: faceți Cloudflare imposibil de ocolit
Dacă atacatorii cunosc adresa IP reală a serverului dvs., ei pot trimite trafic direct către acesta și pot sări peste fiecare protecție pe care ați configurat-o. Remediați acest lucru în două moduri:
- Permiteți traficul web către serverul dvs. numai din intervalele IP publicate de Cloudflare.
- Restaurați IP-ul real al vizitatorului pe serverul dvs. web, deoarece, în caz contrar, fiecare solicitare din jurnalele dvs., limitele de rată și analizele pare să provină de la Cloudflare.
#!/usr/bin/env bash
# /opt/cf/update_cloudflare_ips.sh - run weekly from cron
set -euo pipefail
IPS="$(curl -fsS https://www.cloudflare.com/ips-v4) $(curl -fsS https://www.cloudflare.com/ips-v6)"
# 1) real visitor IP for Nginx
OUT=/etc/nginx/conf.d/cloudflare_real_ip.conf
{
for r in $IPS; do echo "set_real_ip_from $r;"; done
echo "real_ip_header CF-Connecting-IP;"
} > "$OUT.tmp" && mv "$OUT.tmp" "$OUT"
nginx -t && nginx -s reload
# 2) firewall: allow HTTPS only from Cloudflare (remove any generic "allow 443" rule first)
for r in $IPS; do ufw allow proto tcp from "$r" to any port 443 comment 'cloudflare'; done
Un detaliu important pentru utilizatorii Docker: porturile publicate de Docker ocolesc regulile ufw. Legați containerele la localhost în spatele unui proxy invers sau restricționați accesul în lanțul de firewall DOCKER-USER al lui Docker. Pentru o izolare mai puternică, Cloudflare Tunnel permite serverului dvs. să facă doar o conexiune de ieșire, astfel încât nu are nevoie de porturi web de intrare deschise. Pentru webhook-uri de plăți și alte integrări de la server la server, asigurați-vă că regulile IP permit în continuare cererile respective dacă nu trec prin Cloudflare.
Pasul 4: regulile de cache
În mod implicit, Cloudflare memorează în cache fișiere statice, cum ar fi imagini, CSS și JavaScript, dar nu și HTML. O politică sensibilă pentru un site PHP tipic:
- Active statice: cache pentru o perioadă lungă de timp (o lună sau mai mult). Utilizați nume de fișiere versionate sau un șir de interogare, cum ar fi
app.css?v=123, astfel încât o nouă implementare să fie preluată imediat. - Pagini HTML publice (pagini de marketing, blog): pot fi memorate în cache pentru minute până la ore cu o regulă de cache. Testați cu atenție.
- Nu stocați niciodată în cache: admin, cont, coș, checkout, puncte finale API și orice pagină care depinde de un cookie de conectare. Creați o regulă de ocolire pentru aceste căi și pentru solicitările care transportă cookie-ul dvs. de sesiune.
Curățați automat după fiecare implementare, astfel încât clienții să nu vadă niciodată fișierele învechite. Creați un token API doar cu permisiunea „Epurare cache” pentru această zonă și apelați-l din scriptul dvs. de implementare:
# purge selected files after a deployment
curl -sS -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"files":["https://example.com/css/app.css","https://example.com/js/app.js"]}'
Paginile mai rapide ajută, de asemenea, căutarea și conversiile. Consultați ghidul nostru Core Web Vitals pentru site-urile PHP pentru a afla ce să remediați pe partea serverului odată ce CDN-ul este instalat.
Pasul 5: firewall, roboți și limitarea ratei
- Activați regulile WAF gestionate disponibile în planul dvs. Ele blochează tiparele comune de atac înainte de a ajunge la codul tău.
- Activați protecția împotriva botului potrivit planului dvs. și urmăriți analizele înainte de a înăspri orice.
- Puncte finale sensibile pentru limita de rate: autentificare, resetare parolă, înscriere și finalizare. Atacurile cu forță brută și testarea cardurilor vizează exact acestea.
- Exonerați traficul de mașini de încredere: webhook-urile furnizorului de plăți, serviciile de monitorizare și propriile integrări nu trebuie să fie afectate de provocările browserului, deoarece o pagină de provocare returnată la un webhook arată ca un eșec.
# Custom rule 1: block probes for secrets and repositories (action: Block)
(http.request.uri.path contains "/.env" or http.request.uri.path contains "/.git" or http.request.uri.path contains "wp-config")
# Custom rule 2: let payment webhooks through (action: Skip, security features)
(http.request.uri.path in {"/webhooks/stripe" "/webhooks/paypal"})
# Rate limiting rule: at most 10 login attempts per minute per IP
(http.request.uri.path eq "/login" and http.request.method eq "POST") => 10 requests / 1 minute / IP
Sintaxa regulilor și câmpurile disponibile variază în funcție de plan, așa că tratați-le ca șabloane și testați mai întâi în modul „jurnal”. Păstrați și protecțiile la nivel de aplicație: verificările semnăturii webhook, ca în ghidul nostru Stripe webhooks, nu depind niciodată doar de regulile rețelei.
Pasul 6: verificați configurarea
# is traffic going through Cloudflare?
curl -sI https://example.com | grep -iE "^(server|cf-cache-status|cf-ray)"
# does the origin refuse direct access? (replace with your server IP; expect a timeout or refusal)
curl -sI --max-time 8 https://203.0.113.10 -H "Host: example.com" -k
# are the nameservers and mail records right?
dig NS example.com +short
dig MX example.com +short
dig TXT example.com +short
Verificați un fișier static de două ori: al doilea răspuns ar trebui să arate cf-cache-status: HIT. Verificați fluxurile de conectare, de finalizare și de administrare cu un browser real și trimiteți și primiți un e-mail de testare.
Greșeli comune
- SSL flexibil și buclele de redirecționare care urmează.
- Proxy numele gazdei de e-mail (trebuie să fie numai DNS) sau uitarea unei înregistrări de e-mail în timpul mutării.
- Memorarea în cache a paginilor private, astfel încât un client să vadă pagina contului altuia. Ocoliți întotdeauna memoria cache pentru traficul conectat.
- Lăsând originea expusă: IP-ul real este vizibil în vechile înregistrări DNS, anteturi de e-mail sau jurnalele de certificate. Restricționați paravanul de protecție și luați în considerare schimbarea IP-ului dacă acesta s-a scurs.
- Nu restabilirea IP-ului real, care încalcă limitele de rată, jurnalele și verificările fraudelor.
- Provocarea webhook-urilor și a API-urilor, care provoacă eșecuri silențioase în plăți și integrări.
- Limite de dimensiune a cererii: cererile proxy au o dimensiune maximă a corpului în funcție de plan. Verificați limita actuală dacă aplicația dvs. acceptă încărcări mari.
- Uitând de monitorizare. Adăugați alerte pentru expirarea certificatului și a domeniului și păstrați verificările timpului de funcționare, așa cum este descris în ghidul nostru de backup și monitorizare.
O listă de verificare de o pagină
- Inventarul DNS exportat, contul de registrator securizat.
- Site adăugat, înregistrări revizuite, proxy numai pentru numele de gazdă web.
- Certificat de origine instalat, modul SSL Complet (strict), Utilizați întotdeauna HTTPS activat.
- Firewall limitat la intervalele Cloudflare, IP-ul vizitatorului real restaurat.
- Reguli de cache pentru activele statice, ocolire pentru căile private, curățare în scriptul de implementare.
- WAF gestionat activat, limitele ratelor pentru conectare și finalizare, webhook-uri exceptate.
- Comenzile de verificare rulează, alertele configurate, rollback documentat.
Cum putem ajuta
Configuram Cloudflare, gazduirea si conductele de implementare pentru aplicatii PHP si le conectam la sisteme de plata, CRM si mesagerie. Citiți despre serviciul nostru de integrări sau rezervați un apel scurt și vă vom examina configurația DNS, SSL și cache în funcție de această listă de verificare.
Întrebări frecvente
Merită Cloudflare pentru un site web de afaceri mici?
Pentru majoritatea site-urilor web publice, da. Livrarea mai rapidă a fișierelor statice, protecția DDoS, DNS gestionat gratuit și HTTPS ușor sunt valoroase chiar și pe un plan gratuit. Planurile plătite adaugă firewall, bot și funcții de performanță mai puternice. Verificați comparația actuală a planului pentru ceea ce aveți nevoie.
Ce mod SSL ar trebui să folosesc?
Complet (strict). Criptează traficul dintre vizitator și Cloudflare și între Cloudflare și serverul tău și verifică certificatul serverului tău. Evitați flexibilitatea, care lasă conexiunea la serverul dvs. necriptată și adesea provoacă bucle de redirecționare.
Pot atacatorii să ocolească Cloudflare ?
Da, dacă găsesc IP-ul real al serverului tău și acceptă trafic de oriunde. Limitați-vă firewall-ul la intervalele IP publicate de Cloudflare sau utilizați Cloudflare Tunnel și schimbați IP-ul dacă s-a scurs.
De ce a încetat să funcționeze e-mailul meu după ce am mutat DNS-ul în Cloudflare ?
De obicei, o înregistrare de e-mail a fost omisă în migrare sau numele de gazdă de e-mail a fost setat la proxy. Înregistrările de e-mail precum MX, SPF, DKIM și DMARC trebuie să fie prezente, iar numele de gazdă a serverului de e-mail trebuie să fie numai DNS.
Ar trebui să memorez în cache paginile HTML pe Cloudflare ?
Puteți pentru pagini publice precum marketing și conținut de blog, folosind regulile cache și o expirare sensibilă. Nu stocați niciodată în cache administratorul, contul, coșul, finalizarea comenzii sau orice pagină personalizată și ștergeți memoria cache la fiecare implementare.
Apel de descoperire gratuit
Adu un stack haotic sau o integrare blocată - Integrono mapează cel mai inteligent prim pas.
Primești o evaluare senior pe capcane de buget, dependențe și dacă merită să cumperi, să lipești sau să construiești - înainte să înceapă munca plătită. CEO-ul rămâne în buclă.