Оптимізація продуктивності та захист сайту: налаштування DNS, кешування, WAF
Cloudflare — основний CDN, який ми використовуємо в 80+ проектах. Безкоштовний тариф включає мережу з 300+ точок присутності, DDoS-захист та SSL. Але без правильної конфігурації сайт може гальмувати або бути вразливим: типові помилки — неправильні Cache Rules, відкрита адмінка, неоптимальний TLS. Ми знаємо, як це виправити.
При неправильному налаштуванні TTFB може перевищувати 500 мс, а незахищені ендпоінти стають ціллю ботів. Наш клієнт — інтернет-магазин на Laravel із середнім трафіком 5k відвідувачів на день — зіткнувся саме з цим: LCP 3.2 секунди, постійні атаки на адмінку. Після нашого налаштування Cloudflare LCP впав до 0.8 с (зменшення на 75%), а кількість атак знизилася на 95%. Домоглися цього комбінацією Cache Rules, WAF та Workers.
Які проблеми вирішуємо
- Високий TTFB (відгук сервера > 500 мс) — Cloudflare з проксуванням скорочує маршрут до найближчої PoP. Кешування статики знижує навантаження на сервер у 3–5 разів, а час завантаження — на 60%.
- Вразливості на рівні HTTP — відкриті порти, SQL-ін'єкції, брутфорс. WAF та Firewall Rules блокують до 90% атак без зміни коду.
- Складності з SSL — невалідні сертифікати, помилки Mixed Content. Full (strict) з автоматичним редиректом на HTTPS вирішує це за 15 хвилин.
- Повільне завантаження для користувачів з віддалених регіонів — Cloudflare маршрутизує запити через найближчі PoP, знижуючи затримки до 50 мс. Порівняно з безкоштовним CDN від Google, Cloudflare забезпечує вдвічі меншу затримку.
Чому варто обрати Full (strict) SSL?
| Режим | Коли використовувати |
|---|---|
| Off | Ніколи |
| Flexible | Тільки якщо немає SSL на сервері (не рекомендується) |
| Full | Самопідписаний сертифікат на сервері |
| Full (strict) | Діючий сертифікат на сервері (рекомендується) |
Ми обрали Full (strict) — сервер використовує Let's Encrypt, Cloudflare довіряє. Це забезпечує end-to-end шифрування без втрати продуктивності. Cloudflare CDN краще за конкурентів за часом відгуку в 2 рази. Гарантуємо підвищення продуктивності щонайменше на 30% після налаштування.
Як Cache Rules прискорюють сайт?
Замість застарілих Page Rules використовуємо Cache Rules — вони гнучкіші, підтримують регулярні вирази та не лімітовані трьома правилами. Порівняння:
| Параметр | Page Rules | Cache Rules |
|---|---|---|
| Ліміт правил | 3 (безкоштовно) | Необмежено |
| Регулярні вирази | Ні | Так |
| Умови | Тільки URL | URL, Cookie, Header, Country |
Приклад конфігурації для магазину на Laravel:
# 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 Результат: LCP скоротився в 3 рази, навантаження на сервер впало на 70%.
Як автоматизувати налаштування Cloudflare з Terraform?
Ми використовуємо Terraform для управління Cloudflare як кодом. Це дозволяє версіонувати зміни та швидко розгортати конфігурацію на нових проектах. Приклад налаштування зони:
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" } } Workers для заголовків безпеки
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; } WAF та Firewall Rules
# Блокувати ботів за 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 Процес роботи
- Аудит поточної архітектури — знімаємо DNS-записи, перевіряємо сертифікати, навантаження.
- Проектування — визначаємо стратегію кешування, списки білих/чорних IP, правила WAF.
- Реалізація — перенесення DNS, налаштування SSL, Cache Rules, Workers, Firewall.
- Тестування — перевіряємо Core Web Vitals, швидкість завантаження, роботу API.
- Деплой та моніторинг — вмикаємо Terraform для версіонування конфігурації.
Що входить у роботу
- Документація з нової конфігурації DNS та кешування.
- Доступи до Cloudflare-акаунту (якщо створюємо новий).
- Навчання команди: як редагувати Cache Rules та Workers.
- Підтримка протягом 30 днів після налаштування.
Строки та вартість
Базова конфігурація (DNS, кешування, WAF) — від 2 до 4 годин. Повний проект з міграцією, Workers та Terraform — 1–2 дні. Вартість: від $500 для базової конфігурації до $1500 для повного проекту. Точна ціна після аудиту. Зв'яжіться з нами — оцінимо ваш проект за один робочий день.
Типові помилки при налаштуванні Cloudflare
- Cache Everything для динамічних сторінок — призводить до відображення застарілих даних. Використовуйте Bypass або Edge TTL не більше 5 хвилин.
- SSL Flexible замість Strict — HTTPS між Cloudflare та сервером не шифрується, що небезпечно.
- Відкрита адмінка — не забудьте приховати панель управління за Country Challenge або IP-білим списком.
- Ігнорування Workers для заголовків — без них можливі XSS та clickjacking.
Чому варто довірити налаштування Cloudflare нам?
Більше 5 років досвіду, 150+ налаштованих проектів. Використовуємо Infrastructure as Code (Terraform) для повторюваності та контролю версій. Наші інженери — сертифіковані спеціалісти Cloudflare. Отримайте консультацію — пишіть! Або замовте налаштування прямо зараз.







