Varnish, Cloudflare или NGINX: какую кэш-цепочку ставить, чтобы не ловить лишний TTFB
Если сайт на WordPress, лендингах или контентных страницах, кэш лучше строить слоями: браузер → CDN → reverse proxy → приложение. Ошибка — включить всё сразу без правил инвалидации: получаются «битые» корзины, старые цены и вечный bypass для авторизованных.
Cloudflare хорош как внешний щит и edge-cache для статики. Он снимает часть нагрузки, режет ботов, даёт правила по URL и cookies. Но как основной HTML-кэш он удобен не всегда: если логика сайта зависит от куки, гео или A/B-тестов, легко получить сложное исключение и трудно отлаживать очистку.
Varnish — сильный вариант для HTML-кэша перед NGINX или приложением. Он быстрый, прозрачно работает с cache hit/miss и удобно управляется по заголовкам. Минус один: сам по себе не защищает от мусорного трафика на уровне CDN и требует аккуратной purge-логики. NGINX cache проще в поддержке, если стек уже на одном сервере, но он хуже масштабируется как отдельный слой и чаще упирается в правила ключей.
Рабочая схема для большинства сайтов: Cloudflare держит статику, WAF и bot-filtering, Varnish кэширует HTML, NGINX отдаёт origin и служит fallback. Если команда маленькая, начните с NGINX cache; если много трафика и частые публикации — добавляйте Varnish; если нужен edge и защита — ставьте Cloudflare первым слоем.
Вывод: не выбирайте «один кэш на всё» — выбирайте роль каждого слоя и заранее продумайте purge, bypass и cache key.
Webmaster Stack — хостинг, CDN, безопасность
@webmaster_stack
Varnish, Cloudflare или NGINX: какую кэш-цепочку ставить, чтобы не ловить лишний TTFB
Этот пост опубликован в Telegram-канале Webmaster Stack — хостинг, CDN, безопасность. Подписаться можно по ссылке: @webmaster_stack.