.next/static, доступний як _next/static. Файли public потребують окремих URL-адрес. Поведінка assetPrefix описана в документації Next.js.
1. Виберіть адресу доставки
Спільний CDN:https://cdn.erlcrussia.com/YOUR_TEAM_SLUG/releases/RELEASE_ID.
Кастомний домен: https://files.example.com/releases/RELEASE_ID після реєстрації, DNS/TLS-перевірки.
В API поле domain - це slug команди або підтверджене ім’я домену, без схеми та без префікса релізу.
2. Налаштуйте production-складання
next.config.js
npm run start у своєму середовищі розміщення. Для власного домену вкажіть його адресу в CDN_ASSET_PREFIX перед збиранням.
3. Прив’яжіть ключ користувача
API_BASE=https://api.erlcrussia.com. Користувацькі CDN-маршрути потребують erlcrussia-api-key; майстер-ключ для них не використовується. Не розміщуйте ключ у NEXT_PUBLIC_*, HTML або JavaScript застосунку.
4. Завантажте файли до запуску релізу
Для кожного файлу.next/static/RELATIVE_PATH надішліть запит за допомогою releases/RELEASE_ID/_next/static/RELATIVE_PATH:
text/css, для шрифтів – MIME відповідного формату. Не ставте загальний Content-Type: multipart/form-data вручну: boundary додає клієнт. compress=false зберігає байти та SHA-256 збірки. Для власного домену замініть domain на files.example.com.
HTTP 200 повертає { "success": true, "asset": { ... } }. Зайнятий явний шлях дає 409; не вважайте це успішним перезаписом. Порівняйте SHA-256 існуючого ассета або використовуйте новий RELEASE_ID. При 429 чекайте на Retry-After/Retry-After і повторюйте лише відхилений запит. Завантажуйте послідовно з урахуванням загального ліміту, а чи не сотнями паралельних запитів.
Не завантажуйте всю .next: там є серверний код і конфігурація. Вихідні картки .map публікуйте лише за усвідомленої необхідності. Старі релізи зберігайте доти, доки їх використовують відкриті вкладки.
5. Картинки та інші public-файли
img запитує CDN безпосередньо. У разі використання оптимізації next/image браузер може звертатися до локального /_next/image; це окремий механізм. assetPrefix не переносить HTML, API, Server Actions та динамічні дані Next.js на CDN.
6. Перевірте результат
У Network перевірте домен JS/CSS/шрифтів, MIME, CORS та HTTP 200. Порівняйте байти з вихідними файлами, потім HEAD, Range (206) та умовний запит по ETag (304). Натисніть інтерактивну кнопку: наявність HTML ще не доводить виконання JavaScript. CDN доставляє заздалегідь завантажені файли.originUrl задає адресу перенаправлення для кореня домену або відсутнього об’єкта, а не джерело автоматичного завантаження. Завантажте файли збірки через API до публікації релізу.
Шляхи, що починаються з _next/static/, отримують immutable у CDN. Якщо перед _next стоїть префікс релізу, поточна реалізація застосовує стандартний Cache-Control; перевіряйте фактичний заголовок. Скидання кешу CDN не очищає браузерний кеш і не підтверджує очищення Cloudflare.