Installer på Cloudflare Pages
Cloudflare Pages tilbyder hurtig, global hosting af statiske sites med ubegrænset båndbredde.
Hurtig installation
- Gå til Cloudflare Pages
- Klik på "Create a project"
- Forbind dit GitHub-repository
Build-konfiguration
| Indstilling | Værdi |
|---|---|
| Framework preset | None |
| Build command | npm run build |
| Build output directory | dist |
| Root directory | / |
Miljøvariabler
Tilføj disse under Settings → Environment variables:
| Variabel | Værdi |
|---|---|
NODE_VERSION | 18 |
SIMPLE_MODE | false (valgfrit) |
VITE_BRAND_NAME | Brugerdefineret brandnavn (valgfrit) |
VITE_BRAND_LOGO | Logosti relativt til public/ (valgfrit) |
VITE_FOOTER_TEXT | Brugerdefineret footer-/copyrighttekst (valgfrit) |
VITE_DEFAULT_LANGUAGE | Standardsprog i brugerfladen, f.eks. fr (valgfrit) |
Konfigurationsfil
Opret _headers i din public-mappe:
# Required security headers for SharedArrayBuffer (used by LibreOffice WASM)
/*
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: cross-origin
# Pre-compressed LibreOffice WASM binary
/libreoffice-wasm/soffice.wasm.gz
Content-Type: application/wasm
Content-Encoding: gzip
Cache-Control: public, max-age=31536000, immutable
# Pre-compressed LibreOffice WASM data
/libreoffice-wasm/soffice.data.gz
Content-Type: application/octet-stream
Content-Encoding: gzip
Cache-Control: public, max-age=31536000, immutable
# Cache WASM files aggressively
/*.wasm
Cache-Control: public, max-age=31536000, immutable
Content-Type: application/wasm
# Service worker
/sw.js
Cache-Control: no-cacheVigtigt
Headerne Cross-Origin-Embedder-Policy og Cross-Origin-Opener-Policy er påkrævet til konvertering af Word/ODT/Excel/PowerPoint til PDF. Uden dem er SharedArrayBuffer ikke tilgængelig, og LibreOffice WASM-motoren kan ikke starte.
Opret _redirects til SPA-routing:
/* /index.html 200Eget domæne
- Gå til dit Pages-projekt
- Klik på "Custom domains"
- Tilføj dit domæne
- Cloudflare konfigurerer automatisk DNS, hvis domænet ligger hos Cloudflare
Fordele
- Gratis, ubegrænset båndbredde
- Globalt CDN med 300+ edge-lokationer
- Automatisk HTTPS
- Preview-installationer til pull requests
- Hurtige builds
Fejlfinding
Upload af store filer
Cloudflare Pages understøtter filer op til 25 MB. WASM-moduler bør være fine, men hvis du rammer grænser, kan du overveje:
bash
# Split large files during build
npm run buildStørrelsesgrænser for Workers
Hvis du bruger Cloudflare Workers til avanceret routing, skal du være opmærksom på grænsen på 1 MB for gratis planer.
CORS-proxy-worker (til digitale signaturer)
Værktøjet til digital signatur kræver en CORS-proxy for at hente certifikatkæder. Installer den medfølgende worker:
bash
cd cloudflare
npx wrangler login
npx wrangler deploySikkerhedsfunktioner
| Funktion | Beskrivelse |
|---|---|
| URL-begrænsninger | Kun certifikat-URL'er tilladt |
| Filstørrelsesgrænse | Maks. 10MB pr. forespørgsel |
| Rate limiting | 60 forespørgsler/IP/min (kræver KV) |
| Blokering af private IP'er | Blokerer localhost og interne IP'er |
Aktivér rate limiting
bash
# Create KV namespace
npx wrangler kv namespace create "RATE_LIMIT_KV"
# Add to wrangler.toml with returned ID:
# [[kv_namespaces]]
# binding = "RATE_LIMIT_KV"
# id = "YOUR_ID"
npx wrangler deployByg med proxy-URL
bash
VITE_CORS_PROXY_URL=https://your-worker.workers.dev npm run buildEller med Docker:
bash
export VITE_CORS_PROXY_URL="https://your-worker.workers.dev"
DOCKER_BUILDKIT=1 docker build \
--secret id=VITE_CORS_PROXY_URL,env=VITE_CORS_PROXY_URL \
-t your-bentopdf .Bemærk: Se README for opsætning af HMAC-signatur.