Preskočiť na obsah

Nasadenie na Cloudflare Pages ​

Cloudflare Pages ponúka rýchly globálny hosting statických stránok s neobmedzeným prenosom dát.

Rýchle nasadenie ​

  1. Prejdite na Cloudflare Pages
  2. Kliknite na „Create a project“
  3. Pripojte svoj GitHub repozitár

Konfigurácia zostavenia ​

NastavenieHodnota
Framework presetNone
Build commandnpm run build
Build output directorydist
Root directory/

Premenné prostredia ​

Pridajte ich v Settings → Environment variables:

PremennáHodnota
NODE_VERSION18
SIMPLE_MODEfalse (voliteľné)
VITE_BRAND_NAMEVlastný názov značky (voliteľné)
VITE_BRAND_LOGOCesta k logu relatívne k public/ (voliteľné)
VITE_FOOTER_TEXTVlastný text päty/copyrightu (voliteľné)
VITE_DEFAULT_LANGUAGEPredvolený jazyk rozhrania, napr. fr (voliteľné)

Konfiguračný súbor ​

Vytvorte _headers v priečinku public:

# 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

Dôležité

Hlavičky Cross-Origin-Embedder-Policy a Cross-Origin-Opener-Policy sú potrebné na prevody Word/ODT/Excel/PowerPoint do PDF. Bez nich nie je SharedArrayBuffer dostupný a engine LibreOffice WASM sa nepodarí inicializovať.

Vytvorte _redirects pre smerovanie SPA:

/*    /index.html   200

Vlastná doména ​

  1. Prejdite do svojho projektu Pages
  2. Kliknite na „Custom domains“
  3. Pridajte svoju doménu
  4. Ak je doména na Cloudflare, Cloudflare automaticky nastaví DNS

Výhody ​

  • Neobmedzený prenos dát zadarmo
  • Globálne CDN s viac ako 300 okrajovými lokalitami
  • Automatické HTTPS
  • Náhľadové nasadenia pre pull requesty
  • Rýchle zostavenia

Riešenie problémov ​

Nahrávanie veľkých súborov ​

Cloudflare Pages podporuje súbory do 25 MB. WASM moduly by mali byť v poriadku, no ak narazíte na limity, zvážte:

bash
# Split large files during build
npm run build

Limity veľkosti Workera ​

Ak používate Cloudflare Workers na pokročilé smerovanie, myslite na limit 1 MB v bezplatných plánoch.

CORS proxy Worker (pre digitálne podpisy) ​

Nástroj Digitálny podpis potrebuje CORS proxy na získanie reťazcov certifikátov. Nasaďte priložený worker:

bash
cd cloudflare
npx wrangler login
npx wrangler deploy

Bezpečnostné funkcie ​

FunkciaPopis
Obmedzenia URLPovolené sú len URL certifikátov
Limit veľkosti súboruMax. 10MB na požiadavku
Obmedzenie frekvencie60 pož./IP/min (vyžaduje KV)
Blokovanie súkromných IPBlokuje localhost a interné IP

Zapnutie obmedzenia frekvencie ​

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

Zostavenie s URL proxy ​

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

Alebo s 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 .

Poznámka: Nastavenie HMAC podpisu nájdete v README.

Duálne licencovaný pod AGPL-3.0 a komerčnou licenciou.