Оптимізація продуктивності та захист сайту: налаштування 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. Отримайте консультацію — пишіть! Або замовте налаштування прямо зараз.







