Gå til indhold

Installer på Cloudflare Pages ​

Cloudflare Pages tilbyder hurtig, global hosting af statiske sites med ubegrænset båndbredde.

Hurtig installation ​

  1. Gå til Cloudflare Pages
  2. Klik på "Create a project"
  3. Forbind dit GitHub-repository

Build-konfiguration ​

IndstillingVærdi
Framework presetNone
Build commandnpm run build
Build output directorydist
Root directory/

Miljøvariabler ​

Tilføj disse under Settings → Environment variables:

VariabelVærdi
NODE_VERSION18
SIMPLE_MODEfalse (valgfrit)
VITE_BRAND_NAMEBrugerdefineret brandnavn (valgfrit)
VITE_BRAND_LOGOLogosti relativt til public/ (valgfrit)
VITE_FOOTER_TEXTBrugerdefineret footer-/copyrighttekst (valgfrit)
VITE_DEFAULT_LANGUAGEStandardsprog 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-cache

Vigtigt

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   200

Eget domæne ​

  1. Gå til dit Pages-projekt
  2. Klik på "Custom domains"
  3. Tilføj dit domæne
  4. 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 build

Stø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 deploy

Sikkerhedsfunktioner ​

FunktionBeskrivelse
URL-begrænsningerKun certifikat-URL'er tilladt
FilstørrelsesgrænseMaks. 10MB pr. forespørgsel
Rate limiting60 forespørgsler/IP/min (kræver KV)
Blokering af private IP'erBlokerer 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 deploy

Byg med proxy-URL ​

bash
VITE_CORS_PROXY_URL=https://your-worker.workers.dev npm run build

Eller 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.

Dobbelt licenseret under AGPL-3.0 og Kommerciel licens.