.next/static, disponibile come _next/static. I file da public richiedono URL separati. Il comportamento di assetPrefix è descritto nella documentazione Next.js.
1. Seleziona l’indirizzo di consegna
CDN generale:https://cdn.erlcrussia.com/YOUR_TEAM_SLUG/releases/RELEASE_ID.
Dominio personalizzato: https://files.example.com/releases/RELEASE_ID dopo la registrazione, controllo DNS/TLS.
Nell’API, il campo domain è lo slug del team o un nome di dominio verificato, senza schema e senza prefisso di rilascio.
2. Configura una build di produzione
next.config.js
npm run start nel tuo ambiente di hosting. Imposta il dominio personalizzato in CDN_ASSET_PREFIX prima di compilare la versione.
3. Associa una chiave personalizzata
API_BASE=https://api.erlcrussia.com. I percorsi CDN utente richiedono erlcrussia-api-key; non utilizzano la chiave master. Non inserire la chiave in NEXT_PUBLIC_*, HTML o JavaScript dell’applicazione.
4. Carica i file prima del lancio
Per ogni file.next/static/RELATIVE_PATH inviare una richiesta con il percorso releases/RELEASE_ID/_next/static/RELATIVE_PATH:
text/css, per i caratteri utilizzare MIME del formato appropriato. Non impostare manualmente il generico Content-Type: multipart/form-data: il confine viene aggiunto dal cliente. compress=false salva byte e assembly SHA-256. Per il tuo dominio, sostituisci domain con files.example.com.
HTTP 200 restituisce { "success": true, "asset": { ... } }. Un percorso esplicito occupato restituisce 409; non considerarla una riscrittura riuscita. Confronta lo SHA-256 di una risorsa esistente o utilizza un nuovo RELEASE_ID. A 429, attendere Retry-After/Retry-After e ritentare solo la richiesta rifiutata. Carica in sequenza, tenendo conto del limite complessivo, anziché di centinaia di richieste parallele.
Non scaricare l’intero .next: è lì che si trovano il codice del server e la configurazione. Pubblica le mappe sorgente .map solo se ce n’è una necessità consapevole. Conserva le versioni precedenti finché le schede aperte le utilizzano.
5. Immagini e altri file pubblici
img richiede direttamente il CDN. Quando si utilizza l’ottimizzazione next/image, il browser può accedere allo /_next/image locale; questo è un meccanismo separato. assetPrefix non trasferisce dati dinamici HTML, API, azioni server e Next.js su CDN.
6. Controlla il risultato
In Rete, controlla il dominio JS/CSS/font, MIME, CORS e HTTP 200. Confronta i byte con i file di origine, quindi HEAD, Range (206) e richiesta condizionale di ETag (304). Fare clic sul pulsante interattivo: la presenza di HTML non dimostra l’esecuzione di JavaScript. La CDN distribuisce file caricati in anticipo.originUrl specifica una destinazione di reindirizzamento per la radice del dominio o un oggetto mancante, non una fonte di download automatico. Carica i file tramite l’API prima di pubblicare la versione.
I percorsi che iniziano con _next/static/ vengono resi immutabili dalla CDN. Se _next è preceduto da un prefisso di rilascio, l’attuale implementazione utilizza un normale Cache-Control; controlla il titolo effettivo. Il ripristino di CDN non cancella la cache del browser e non conferma di per sé che Cloudflare l’abbia cancellata.