Skip to content

Как подключить CDN к сайту

Коротко:

CDN (Content Delivery Network) — географически распределённые сервера, отдающие статику из ближайшей точки к пользователю. Для стандартного сайта настройка 30 мин: регистрация в Cloudflare (бесплатно), перенаправление DNS-зоны, включение proxy, настройка cache rules. Для РФ — Yandex Cloud CDN (DC в Москве).

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Пошаговая настройка

  1. Регистрация в CDN (Cloudflare бесплатно)
  2. В dashboard добавьте domain → импорт существующих DNS записей
  3. В registrar поменяйте nameservers на Cloudflare (craig.ns.cloudflare.com, etc.)
  4. Ждите propagation (1-24 часа). Enterno DNS checker показывает когда пришло
  5. В Cloudflare enable: "Proxy" (orange cloud) на A-записях для edge-caching
  6. SSL/TLS mode: Full (strict) — если у origin cert. Full (не strict) — если self-signed.
  7. Cache rules: Static Files → Cache Everything, TTL 1 year
  8. Проверка: curl -I https://example.com | grep -i "cf-cache-status" → "HIT"

Рабочие примеры

СценарийКонфиг
Cloudflare Page Rule для cacheURL: example.com/static/* → Cache Everything + Edge Cache TTL: 1 year + Browser Cache TTL: 1 year
AWS CloudFront distributionOrigin: your-bucket.s3.amazonaws.com Alternate Domain Names (CNAMEs): cdn.example.com Default Cache Behavior: Redirect HTTP to HTTPS + Cache based on Host header
Yandex Cloud CDNСоздать CDN resource → Primary origin: origin.example.com Edge locations: Moscow + Saint-Petersburg SSL: Let's Encrypt или custom cert
nginx origin behind CDNreal_ip_header CF-Connecting-IP; set_real_ip_from 173.245.48.0/20; # Cloudflare IP ranges
Cache bust via query paramhttps://example.com/style.css?v=1776446434 # filemtime hash auto-bust

Типичные ошибки

  • Cloudflare SSL mode "Flexible" + редирект в PHP на HTTPS = redirect loop
  • Cache rules на dynamic endpoints (/api/*, /admin/*) — serve stale data всем users
  • origin server видит client IP как Cloudflare → в логах все = 173.245.x.x. Fix: real_ip_header CF-Connecting-IP.
  • CDN кэширует Set-Cookie headers — users получают чужие sessions. Bypass cache для /api.
  • Redirect chain длиннее (www → non-www → HTTPS → CDN) — LCP ухудшается. Consolidate.

Больше по теме

Часто задаваемые вопросы

Cloudflare или Yandex Cloud CDN?

Cloudflare: глобальный coverage, бесплатно, но не все российские ISP route оптимально. Yandex: tier-1 РФ coverage + compliance, но платный от 0.5₽/GB.

Насколько ускоряется сайт через CDN?

TTFB для международных клиентов: 300-800ms → 50-150ms. LCP: 10-40% улучшение зависимо от контента.

Как очистить CDN cache?

Cloudflare: Dashboard → Caching → Purge Cache (all или по URL). AWS: Invalidation в CloudFront console. Yandex: Prefetch/Purge API.

Помогает ли CDN для SEO?

Да. Google учитывает TTFB + Core Web Vitals. Быстрый CDN → лучше CWV → +10-20% видимости.