Настройка 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 year, Browser TTL: 1 year

# Правило 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 minutes

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 year

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") or
(http.user_agent contains "nikto") or
(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.