A Cloudflare Pages hosztolás lehetővé teszi a frontend csapatok számára, hogy gyors, biztonságos kódot szállítsanak szerveradminisztráció nélkül. A Cloudflare Pages használatával a fejlesztők egy nagy teljesítményű, edge-natív platformot kapnak statikus webalkalmazások, egyoldalas alkalmazások (SPA) és szerveroldali renderelésű (SSR) keretrendszerek telepítéséhez. A Git-tárolóhoz való közvetlen csatlakozással a Cloudflare automatizálja a build folyamatokat, előnézeti verziókat (preview deployments) generál, és globálisan kiszolgálja az erőforrásokat. Ez az útmutató bemutatja, hogyan csatlakoztathatja a Git-et, hogyan konfigurálhatja a build beállításokat, hogyan állíthat be egyedi domaineket és hogyan kezelheti az átirányításokat.
Legfontosabb tudnivalók:
- Edge-natív frontend alkalmazások telepítése; a Cloudflare Pages globálisan, a Cloudflare hálózatának széléről (edge) szolgálja ki a fájlokat, garantálva a szubszekundumos betöltési időt.
- Automatizált Git integráció; csatlakoztassa a tárolóját a build folyamatok automatikus indításához és előnézeti URL-ek generálásához minden commit után.
- Keretrendszer-specifikus build beállítások; konfigurálja a kimeneti mappákat és parancsokat React, Vue, Next.js, Hugo vagy Astro projektekhez.
- Átirányítási és fejléc-szabályok megadása egyszerű szöveges
_redirectsés_headersfájlokkal a nyilvános (public) mappában. - Egyedi domainek hozzárendelése ingyenes, automatikusan megújuló SSL tanúsítványokkal, amelyeket közvetlenül a Cloudflare kezel.
Mi az a Cloudflare Pages?
A Cloudflare Pages egy szerver nélküli (serverless) hosztolási platform frontend fejlesztők számára (hasonlóan a Netlify-hoz vagy a Vercel-hez), amely közvetlenül a Cloudflare globális infrastruktúrájára épül.
Ahelyett, hogy a fájlokat egyetlen felhőszerveren tárolná, a Cloudflare Pages elosztja a HTML, CSS, JavaScript fájlokat és képeket a világ különböző pontjain található edge szervereken. Amikor egy felhasználó lekéri az oldalt, az erőforrások a legközelebbi helyszínről töltődnek be, minimalizálva a hálózati késleltetést. A szerveroldali logikát igénylő projekteknél a Pages integrálható a Cloudflare Workers szolgáltatással háttérfunkciók futtatásához. A Pages és más edge számítási szolgáltatások összehasonlításához olvassa el a Cloudflare Pages vs. Workers útmutatónkat.
Előfeltételek
Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik az alábbiakkal:
- Egy Git-tároló GitHub-on vagy GitLab-on, amely tartalmazza a projektjét (vagy a lefordított fájlokat közvetlen feltöltéshez).
- Egy statikus fájlokat generáló keretrendszer – React (Vite), Vue, Astro, SvelteKit, Hugo vagy egyszerű HTML. A szerveroldali renderelésű keretrendszerek is működnek a Pages Functions segítségével.
- Egy működő helyi build. Futtassa le helyben a build parancsot (például
npm run build), és ellenőrizze, hogy a kimeneti mappa hibák nélkül generálódik-e, mielőtt bármit csatlakoztatna. - Egy ingyenes Cloudflare fiók. Az ingyenes szinthez nincs szükség bankkártyára.
- Helyileg telepített Node.js (ajánlott), hogy reprodukálni tudja a buildeket, és használhassa a Wrangler parancssori eszközt.
Egy gyors helyi ellenőrzés órákig tartó hibakeresést spórolhat meg: ha az oldal helyben nem épül fel hibamentesen, a Cloudflare szerverein sem fog sikerülni. Először a helyi hibákat javítsa ki.
1. lépés: A Git-tároló csatlakoztatása
A kezdéshez jelentkezzen be a Cloudflare Dashboardra, navigáljon a Compute > Pages menüponthoz, majd kattintson a Create a project gombra.
Válassza a Connect to Git opciót GitHub vagy GitLab fiókja összekapcsolásához. Válassza ki a statikus webalkalmazást tartalmazó tárolót. Ez az integráció rendkívül hasznos, mivel létrehoz egy folyamatos integrációs (CI) csővezetéket: minden alkalommal, amikor kódot küld a produkciós branch-be, a Cloudflare automatikusan lefordítja és közzéteszi a frissítéseket. Más ágak (branches) esetén a Cloudflare egyedi előnézeti URL-eket (preview URLs) generál, így tesztelheti a változtatásokat a véglegesítés előtt.
2. lépés: A build beállítások konfigurálása
A Cloudflare Pages támogatja a népszerű statikus oldalgenerátorokat és frontend keretrendszereket. A beállítási varázsló során konfigurálja az alábbi paramétereket a projekt igényei szerint:
- Build command: A
package.jsonfájlban meghatározott build parancs (példáulnpm run buildvagyhugo --minify). - Build output directory: A lefordított statikus fájlokat tartalmazó mappa (például
dist,buildvagypublic). - Environment variables: Ha a build folyamat API-kulcsokat vagy konfigurációs változókat igényel, itt adhatja meg őket.
A Cloudflare automatikusan felismeri a legtöbb keretrendszert, de a beállítások ellenőrzésével elkerülhető az első sikertelen futás. A leggyakoribb kombinációk:
| Keretrendszer | Build parancs | Kimeneti mappa |
|---|---|---|
| React (Vite) | npm run build | dist |
| React (Create React App) | npm run build | build |
| Next.js (statikus export) | npx next build | out |
| Astro | npm run build | dist |
| Vue (Vite) | npm run build | dist |
| SvelteKit | npm run build | .svelte-kit/cloudflare |
| Hugo | hugo --minify | public |
Rögzítse a Node verziót. A „helyben működik, de a Cloudflare-en nem” típusú hibák leggyakoribb oka a build környezet és a projekt által elvárt Node verziók eltérése. Adja meg ezt kifejezetten a környezeti változók között:
1NODE_VERSION = 20
Vagy hozzon létre egy .node-version fájlt a tároló gyökerében:
120
3. lépés: Átirányítások és fejlécek beállítása
Az egyoldalas alkalmazások (mint a React Router) vagy a korábbi URL-ek migrációja esetén konfigurálnia kell az útvonalirányítási és átirányítási szabályokat. A Pages ezt a kimeneti mappában elhelyezett egyszerű szöveges fájlok segítségével kezeli.
Átirányítások (_redirects)
Hozzon létre egy _redirects nevű fájlt a nyilvános (public) mappában. Ahhoz, hogy egy React SPA tisztán kezelje a kliensoldali útvonalakat, adja hozzá az alábbi fallback szabályt:
1/* /index.html 200
Ez minden kérést az index.html fájlra irányít, lehetővé téve, hogy a JavaScript router kezelje az útvonalat.
A sorrend számít. A Cloudflare fentről lefelé értékeli a szabályokat, és megáll az első találatnál, ezért a specifikus átirányításoknak a catch-all szabály felett kell elhelyezkedniük:
1# Permanent redirect for a moved page
2/old-pricing /pricing 301
3
4# Redirect an entire section, preserving the sub-path
5/blog/* /articles/:splat 301
6
7# SPA fallback (must come last)
8/* /index.html 200
A :splat helyőrző továbbítja az útvonal egyező részét a célállomásra. Az ingyenes csomag projektenként legfeljebb 2000 statikus átirányítási szabályt engedélyez. Ha ennél többre van szüksége, helyezze a logikát egy Pages Function-be vagy használja a Bulk Redirects eszközt.
Egyedi fejlécek (_headers)
Hozzon létre egy _headers nevű fájlt a biztonsági szabályok, Referrer-politikák vagy egyedi cache-szabályok megadásához:
1/*
2 X-Frame-Options: DENY
3 X-Content-Type-Options: nosniff
4 Referrer-Policy: strict-origin-when-cross-origin
Ugyanitt optimalizálhatja a gyorsítótárazást (caching) is. A verziózott, megváltoztathatatlan (immutable) fájlokat akár egy évre is cache-elheti, míg a HTML fájlokat frissen kell tartani, hogy a felhasználók mindig a legfrissebb verziót kapják:
1/assets/*
2 Cache-Control: public, max-age=31536000, immutable
Ha szeretné látni, hogyan viszonyulnak ezek a szabályok a hagyományos backend útvonalirányításhoz, olvassa el a szerver nélküli API építése Cloudflare Workers segítségével cikkünket.
4. lépés: Egyedi domainek hozzárendelése
A telepítés után a Cloudflare biztosít egy alapértelmezett aldomaint (például sajat-projekt.pages.dev).
Egyedi domain hozzárendeléséhez navigáljon a Pages projekt Custom Domains fülére, és adja meg a domain nevét (például sajatcég.hu). Ha a DNS-ét a Cloudflare kezeli, a platform automatikusan beállítja a CNAME rekordokat, és azonnal kiállít egy ingyenes, automatikusan megújuló SSL tanúsítványt. Ha segítségre van szüksége a domain hozzárendelésben, a DNS-kezelésben vagy a szerver biztonságában, tekintse meg a weboldal biztonsági audit
oldalunkat.
5. lépés: Telepítés a Wrangler CLI használatával (Közvetlen feltöltés)
A Git integráció a legtöbb csapatnak ideális, de a Wrangler parancssori eszközzel közvetlenül a saját gépéről vagy egy meglévő CI/CD csővezetékből is telepíthet. Ez akkor hasznos, ha a build folyamat már fut például GitHub Actions-ben vagy GitLab CI-ben, és Ön csak a kész kimenetet szeretné feltölteni.
Telepítse a Wranglert és jelentkezzen be:
1npm install -g wrangler
2wrangler login
Futtassa le a buildet helyben, majd töltse fel a kimeneti mappát a megadott projektbe:
1npm run build
2wrangler pages deploy ./dist --project-name=my-web-app
Az első futtatás létrehozza a projektet, ha az még nem létezik. CI/CD környezetben az interaktív wrangler login helyett használjon egy API tokent környezeti változóként megadva:
1# .github/workflows/deploy.yml (excerpt)
2- name: Deploy to Cloudflare Pages
3 run: npx wrangler pages deploy ./dist --project-name=my-web-app
4 env:
5 CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
6 CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
A közvetlen feltöltés kikerüli a Cloudflare saját build lépését, így teljes kontrollt biztosít a fejlesztői eszköztár felett.
Gyakori hibák és elhárításuk
Néhány tipikus hiba felelős a sikertelen első telepítések többségéért:
- 404-es hiba egy SPA útvonal frissítésekor. Egy kliensoldali útvonal (pl.
/dashboard) frissítésekor az oldal hibát jelez, mert nincs ilyen fizikai fájl a szerveren. A megoldás a/* /index.html 200szabály a_redirectsfájlban. Ellenőrizze, hogy ez a fájl valóban a build kimeneti mappájába kerül-e. - A Cloudflare figyelmen kívül hagyja a
_redirectsvagy_headersfájlokat. Ezeknek a fájloknak a publikált kimeneti mappában kell lenniük. Vite, Astro vagy SvelteKit használata esetén helyezze őket apublic/(vagystatic/) mappába, hogy a build folyamat érintetlenül másolja át őket. - A build helyben lefut, de a Cloudflare-en elbukik. Ez szinte mindig Node verzióbeli eltérés vagy hiányzó környezeti változó miatt van. Rögzítse a Node verziót, és adja meg a build által igényelt változókat.
- Túl sok fájl vagy túl nagy telepítés. Egyetlen feltöltés legfeljebb 20 000 fájlt tartalmazhat, a fájlméret-limit pedig 25 MiB. A nagy médiafájlokat R2-ben vagy külső képszolgáltatóban tárolja, ne a statikus csomagban.
- Elavult elemek a frissítés után. A verziózott fájlok (pl.
app.4f2c.js) agresszíven gyorsítótárazhatók, azindex.htmlazonban nem. Tartsa az HTML fájlokat rövid cache-en.
Tesztelési és éles üzemi szempontok
A Cloudflare minden nem produkciós branchhez és pull requesthez létrehoz egy előnézeti telepítést (preview deployment), mindegyiket saját URL-en (például abc123.my-web-app.pages.dev). Mivel az előnézetek ugyanazon az edge hálózaton futnak, mint az éles oldal, megbízható helyet biztosítanak a változtatások áttekintésére a véglegesítés előtt.
Az éles kiadásoknál néhány vezérlőelem dönti el, hogy pusztán egy tárhelyről vagy egy megbízható munkafolyamatról van-e szó:
- Visszaállítások (rollbackek). Minden telepítés megőrződik, így egy hibás kiadás visszavonható, ha az irányítópulton másodpercek alatt visszaléptet egy korábbi buildet az éles környezetbe – újraépítés nélkül.
- Környezetek szétválasztása. Állítson be eltérő változókat a produkciós és az előnézeti környezethez, hogy az előnézeti buildek a staging API-kra mutassanak, ne az éles adatokra.
- Analitika és Core Web Vitals. Engedélyezze a Cloudflare Web Analytics szolgáltatást – adatvédelmi szempontból elsődleges és cookie-mentes –, hogy harmadik féltől származó szkript betöltése nélkül kövesse a valós felhasználói LCP-, CLS-értékeket és a forgalmat.
- Hozzáférés-vezérlés az előnézetekhez. Az előnézeti URL-ek alapértelmezetten nyilvánosak. Ha egy branch kiadatlan munkát tesz elérhetővé, helyezze a Cloudflare Access mögé, hogy csak a csapata nyithassa meg.
Ha ezeket korán bevezeti, a telepítései kiszámíthatók maradnak, ahogy a projekt növekszik, és egyre többen dolgoznak rajta.
Legfontosabb tudnivalók
- A Cloudflare Pages a globális edge hálózaton hosztolja a statikus alkalmazásokat, maximalizálva a betöltési sebességet.
- Automatisálja a telepítést a GitHub vagy GitLab összekapcsolásával, így minden commit automatikusan elindítja a buildet.
- Konfigurálja a build parancsokat és kimeneti könyvtárakat a használt keretrendszernek (React, Astro, Next.js, Hugo) megfelelően.
- Adja meg az átirányítási és biztonsági szabályokat az output mappába helyezett egyszerű
_redirectsés_headersfájlokkal. - Rendeljen egyedi domaineket ingyenes, automatikusan megújuló SSL tanúsítványokkal közvetlenül a Cloudflare kezelésében.
Optimalizálja webes infrastruktúráját
A gyors és biztonságos frontendek biztosításához a megfelelő tárhely-architektúra és caching-szabályok kiválasztása szükséges. A Mecanik a weboldal fejlesztési szolgáltatásokra és a professzionális technikai SEO audit szolgáltatásokra szakosodott. Egyedi, Core Web Vitals-ra optimalizált React, Next.js és Astro platformokat építünk, amelyeket a Cloudflare-re telepítünk. Lépjen kapcsolatba velünk még ma, és beszéljük meg a következő projektjét.
Gyakran ismételt kérdések (GYIK)
Mi az a Cloudflare Pages hosztolás? Ez egy szerver nélküli frontend hosztolási platform, amely statikus webalkalmazásokat, React SPA-kat és statikus oldalgenerátor kimeneteket (például Astro vagy Hugo) épít fel és szolgál ki globálisan a Cloudflare CDN hálózatán.
Támogatja a Cloudflare Pages a szerveroldali renderelést (SSR)? Igen. A Pages támogatja az SSR keretrendszereket (mint a Next.js, Astro, SvelteKit) azáltal, hogy a szerveroldali logikát a build folyamat során automatikusan szerver nélküli Cloudflare Workers funkciókká alakítja.
Hogyan állíthatok be átirányításokat Cloudflare Pages-en?
Hozzon létre egy egyszerű szöveges fájlt _redirects néven a build kimeneti könyvtárában, és adja meg az átirányítási szabályokat a forrás útvonal, a cél útvonal és a HTTP státuszkód megadásával.
Ingyenes a Cloudflare Pages? Igen. A Cloudflare Pages rendkívül nagylelkű ingyenes szintet kínál, amely korlátlan telepítést, korlátlan sávszélességet és egyedi domainek használatát biztosítja, így kiemelkedően költséghatékony választás.
Hogyan állíthatok be egyedi domaint a Pages-en? Navigáljon a Custom Domains fülre a Pages projekt irányítópultján, adja meg a domain nevét, és a Cloudflare automatikusan beállítja a szükséges DNS rekordokat és kiállítja a tanúsítványt.
Hozzászólások