Налаштування KeyCDN: Pull Zone, HTTPS, кеш та інтеграція

Налаштування KeyCDN: Pull Zone, HTTPS, кеш та інтеграція

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування KeyCDN: Pull Zone, HTTPS, кеш та інтеграція
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Налаштування KeyCDN: Pull Zone, HTTPS, кеш та інтеграція

Повільне завантаження статики для європейських користувачів? Origin-сервер задихається при пікових навантаженнях, TTFB зростає до 300+ мс, а Core Web Vitals не проходять аудит. Для проектів на Laravel, WordPress або кастомному PHP типова проблема — затримки через віддалену інфраструктуру. Ми допомагаємо налаштувати KeyCDN — європейський CDN з 35+ точками присутності (PoP), низькою затримкою та оплатою за фактом. Після інтеграції TTFB падає до 30–50 мс, навантаження на сервер знижується на 85%, а кеш-hit rate досягає 98% при правильних заголовках.

KeyCDN використовує HTTP/2 і підтримує WebP на льоту. Ми вже підключили його для 50+ сайтів — результат стабільний. Нижче розберемо типові проблеми та процес налаштування.

Проблеми, які вирішуємо

  • Високий TTFB — запити йдуть за тисячі кілометрів. KeyCDN наближає контент до користувача (PoP у Франкфурті, Амстердамі, Лондоні), скорочуючи затримку в 3–5 разів.
  • Перевантаження origin — статичні файли (CSS, JS, зображення) віддаються з CDN, знижуючи навантаження на сервер до 80%.
  • Відсутність WebP — KeyCDN конвертує зображення в WebP на льоту, без зміни URL (параметр format=webp).
  • Неоптимальне кешування — налаштовуємо заголовки Cache-Control і Expires, щоб браузер і CDN кешували ресурси максимально довго.

Pull Zone: як це працює

Використовуємо Pull Zone — KeyCDN сам забирає контент з origin при першому запиті. Жодних rsync або FTP. Для проектів з уже завантаженими файлами підходить Push Zone, але Pull — стандарт для динамічних сайтів.

Приклад створення Pull Zone через API:

curl -X POST \ -u api_key: \ -H "Content-Type: application/json" \ -d '{ "name": "example-assets", "type": "pull", "origins": [{"url": "https://example.ru"}], "ssl": true, "cors_headers": true, "cache_headers": true, "expire": 2592000, "custom_domains": ["cdn.example.ru"] }' \ https://api.keycdn.com/zones.json 

Після зони KeyCDN видає CNAME (наприклад example-assets-1234.kxcdn.com). Додаємо CNAME-запис у DNS. SSL для кастомного домену випускається автоматично через Let's Encrypt.

Критерій Pull Zone Push Zone
Джерело Origin-сервер (HTTP) Пряме завантаження (rsync/FTP/API)
Оновлення Автоматично після інвалідації Вимагає ручного завантаження
Трафік Вхідний + вихідний Тільки вихідний (дешевше)
Використання Динамічні сайти Статичні файли, архіви

Для 90% проектів обираємо Pull — мінімум ручної роботи.

Як налаштувати HTTPS для кастомного домену?

Після додавання кастомного домену в зону KeyCDN автоматично випускає сертифікат через Let's Encrypt. Достатньо вказати CNAME на наданий CDN-домен і зачекати 1–5 хвилин. Жодних ручних CRL або CSR. Важно: для HTTPS переконайтеся, що origin-сервер теж віддає статику по HTTPS, інакше змішаний контент.

Чому інвалідація кеша критична?

Без неї після оновлення файлів (наприклад, app.css?v2) користувачі побачать стару версію. Інвалідація скидає конкретні URL або всю зону. Ми реалізуємо її через API: достатньо викликати DELETE /zones/purgeurl/{zoneId}.json з масивом URL. У Laravel це обгорнуто в сервіс-провайдер (див. нижче). Кеш-hit rate падає до 0% при відсутності інвалідації — критично для оновлень.

Інтеграція з Laravel

Проста переадресація статики через сервіс-провайдер:

// config/cdn.php return [ 'url' => env('CDN_URL', ''), 'enabled' => env('CDN_ENABLED', false), ]; // AppServiceProvider: переопределить URL для ассетов public function boot(): void { if (config('cdn.enabled') && $cdnUrl = config('cdn.url')) { URL::forceRootUrl($cdnUrl); } } 

У шаблонах достатньо використовувати asset():

{{-- У шаблонах -- }} <img src="{{ asset('images/logo.png') }}" alt="настройка KeyCDN"> {{-- Видаст: https://cdn.example.ru/images/logo.png -- }} 

Інвалідація кеша — обгортка через API:

use Illuminate\Support\Facades\Http; class KeyCdnService { private string $apiKey; private string $zoneId; public function purge(array $urls): void { Http::withBasicAuth($this->apiKey, '') ->delete("https://api.keycdn.com/zones/purgeurl/{$this->zoneId}.json", [ 'urls' => $urls, ]); } public function purgeAll(): void { Http::withBasicAuth($this->apiKey, '') ->get("https://api.keycdn.com/zones/purge/{$this->zoneId}.json"); } } 

Налаштування заголовків origin

KeyCDN кешує те, що віддає origin. Правильні заголовки на Nginx:

location /assets/ { expires 1y; add_header Cache-Control "public, max-age=31536000, immutable"; add_header Access-Control-Allow-Origin *; } 
Заголовок Рекомендоване значення Призначення
Cache-Control public, max-age=31536000, immutable Довгострокове кешування незмінних файлів
Expires 1y Застарівання через рік
Vary Accept-Encoding Підтримка стиснення

Для підвищення hit-rate використовуйте s-maxage та stale-while-revalidate для CDN. Активуйте WebP через параметр format=webp у конфігу зони.

Процес роботи

  1. Аудит — аналізуємо поточні метрики, визначаємо статичні ресурси, перевіряємо заголовки кешування.
  2. Створення зони — налаштовуємо Pull Zone, вказуємо origin, вмикаємо HTTPS, CORS, кастомний домен.
  3. DNS — прописуємо CNAME, чекаємо поширення (до 30 хвилин).
  4. SSL — KeyCDN автоматично випускає Let's Encrypt.
  5. Інтеграція — підключаємо CDN у код (Laravel, WordPress, будь-яка CMS), налаштовуємо інвалідацію.
  6. Тестування — перевіряємо коректність кешування, швидкості завантаження, WebP.
  7. Моніторинг — налаштовуємо аналітику KeyCDN (трафік, кеш-hit rate, статус-коди).

В результат входить: документація з інтеграції (код, коміти), доступи до панелі KeyCDN, API-ключі, навчання команди роботі з кешем та інвалідацією, технічна підтримка 30 днів.

Строки та гарантії

Базове налаштування — від 2 до 4 годин з моменту надання доступів. Складні проекти (кастомні origin, кілька зон) — до 2 днів. Вартість розраховується індивідуально. Досвід 5+ років, реалізували 50+ проектів — гарантуємо стабільну роботу та підтримку. Зв'яжіться з нами для аудиту вашого проекту — безкоштовно оцінимо поточну інфраструктуру. Отримайте консультацію з налаштування KeyCDN.