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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування CDN (CloudFlare) для сайту
Середня
від 1 робочого дня до 3 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • 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

Налаштування Cloudflare CDN

Cloudflare — найпоширеніший CDN з безплатним тарифом, що включає DDoS-захист, WAF, SSL і мережу з 300+ точок присутності. Переключення DNS на Cloudflare займає 15 хвилин; налаштування кешування — ще одну годину.

Підключення

  1. Зареєструватися на cloudflare.com, додати домен
  2. Cloudflare сканує DNS-записи і пропонує їх імпортувати
  3. Замінити NS-сервери у реєстратора на Cloudflare NS (kate.ns.cloudflare.com, jay.ns.cloudflare.com)
  4. Поширення DNS: 5 хвилин – 24 години

Помаранчеве хмарне облаком (proxied) — трафік йде через Cloudflare. Сіре облачко (DNS only) — Cloudflare тільки резолвить DNS.

Режим SSL/TLS

Налаштування: SSL/TLS → Overview:

Режим Коли використовувати
Off Ніколи
Flexible Тільки якщо немає SSL на сервері (не рекомендується)
Full Самопідписаний сертифікат на сервері
Full (strict) Дійсний сертифікат на сервері (рекомендується)

Правила кешування (Cache Rules)

# Cloudflare Dashboard → Caching → Cache Rules

# Правило 1: Кешировать статичні ассети
Умова: URI Path matches wildcard /assets/*
Дія: Cache Everything, Edge TTL: 1 рік, Browser TTL: 1 рік

# Правило 2: Не кешировать панель управління
Умова: URI Path matches wildcard /admin/*
Дія: Bypass Cache

# Правило 3: Не кешировать авторизованих користувачів
Умова: Cookie "laravel_session" exists
Дія: Bypass Cache

# Правило 4: Кешировать публічні сторінки
Умова: URI Path matches regex ^/(|catalog|products|blog).*
Дія: Cache Everything, Edge TTL: 5 хвилин

Page Rules (застарілий інтерфейс, але все ще працює)

example.ru/admin/*    → Cache Level: Bypass
example.ru/api/*      → Cache Level: Bypass
example.ru/assets/*   → Cache Level: Cache Everything, Edge Cache TTL: 1 рік

Workers — edge-вичисління

// Додавання security-заголовків на рівні CDN
addEventListener('fetch', event => {
    event.respondWith(addSecurityHeaders(event.request));
});

async function addSecurityHeaders(request) {
    const response = await fetch(request);
    const newResponse = new Response(response.body, response);

    newResponse.headers.set('X-Frame-Options', 'SAMEORIGIN');
    newResponse.headers.set('X-Content-Type-Options', 'nosniff');
    newResponse.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
    newResponse.headers.set('Permissions-Policy', 'camera=(), microphone=()');

    return newResponse;
}

Оптимізації Speed

  • Auto Minify → HTML, CSS, JS (включити)
  • Rocket Loader → асинхронна завантаження JS (тестувати — може ломати деякі скрипти)
  • Polish → автоматична конвертація зображень у WebP (тільки платні тарифи)
  • Mirage → адаптивні зображення (платний)
  • Early Hints → 103 Early Hints для preload ресурсів (включити)

Firewall Rules / WAF

# Блокувати ботів по User-Agent
(http.user_agent contains "sqlmap") або
(http.user_agent contains "nikto") або
(http.user_agent eq "") → Block

# Challenge для підозрілих країн
(ip.geoip.country in {"CN" "RU" "KP"} and not cf.bot_management.verified_bot)
→ Managed Challenge

# Rate Limiting для API
/api/* → 100 запитів за 60 секунд з одного IP

Terraform для Infrastructure as Code

resource "cloudflare_zone_settings_override" "example" {
    zone_id = var.zone_id
    settings {
        ssl            = "strict"
        always_use_https = "on"
        min_tls_version  = "1.2"
        http3            = "on"
        brotli           = "on"
        early_hints      = "on"
        cache_level      = "aggressive"
    }
}

resource "cloudflare_page_rule" "cache_assets" {
    zone_id  = var.zone_id
    target   = "${var.domain}/assets/*"
    priority = 1
    actions {
        cache_level       = "cache_everything"
        edge_cache_ttl    = 31536000
        browser_cache_ttl = 31536000
    }
}

Час налаштування: кілька годин для базової конфігурації з кешуванням та WAF.