Налаштування CDN (KeyCDN) для сайту

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування CDN (KeyCDN) для сайту
Проста
~1 робочий день
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування KeyCDN

KeyCDN — європейський CDN з простою моделлю оплати ($0.04 за ГБ), 35+ точек присутності, спеціалізація на доставці статичних файлів. Хороший вибір для невеликих проектів та european-first аудиторії.

Створення Zone

Зона (Zone) у KeyCDN — конфігурація для одного джерела. Типи:

  • Pull Zone — KeyCDN сам забирає контент з origin при першому запиті (рекомендується)
  • Push Zone — файли завантажуються напрямку через rsync/FTP/API

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

DNS налаштування

Після створення zone KeyCDN видає CNAME (наприклад example-assets-1234.kxcdn.com). Додати CNAME-запис:

cdn.example.ru → example-assets-1234.kxcdn.com

SSL для кастомного домена — KeyCDN видає Let's Encrypt автоматично.

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

// config/cdn.php
return [
    'url' => env('CDN_URL', ''),
    'enabled' => env('CDN_ENABLED', false),
];

// AppServiceProvider
public function boot(): void {
    if (config('cdn.enabled') && $cdnUrl = config('cdn.url')) {
        URL::forceRootUrl($cdnUrl);
    }
}
<img src="{{ asset('images/logo.png') }}" alt="Logo">
<!-- Виведе: https://cdn.example.ru/images/logo.png -->

Інвалідація кеша

use Illuminate\Support\Facades\Http;

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

Час налаштування: кілька годин для налаштування CNAME.