Dropping Cloudflare for Bunny.net

08.04.2026 · 5 мин

Знаете, что объединяет полмиллиона сайтов, которые однажды легли из-за сбоя одного сервиса? Правильно — все они зависели от одной американской компании.

Cloudflare — это монстр. Безумно щедрый бесплатный тариф, огромная инфраструктура, фичи на любой вкус. Но есть нюанс: когда что-то идёт не так у Cloudflare, об этом пишут новости. Когда Cloudflare решит, что вам не нравится их политика — ваш сайт просто не откроется. Один IP-адрес, одна точка отказа, одно решение. Звучит как проблема?

Автор статьи на jola.dev Jola решил, что это проблема. И нашёл альтернативу.

Почему Cloudflare — это риск

Cloudflare обрабатывает трафик невообразимого количества сайтов. Это удобно, пока всё работает. Но представьте: одна ошибка конфигурации — и добрая треть интернета недоступна. Так уже было. И будут ещё.

Помимо технических рисков, есть политический. Cloudflare — американская компания. Американские законы иногда требуют странного. И история Cloudflare знает примеры, когда сервис отключал клиентов «по убеждениям».

Для личного блога это может быть не критично. Но когда ты строишь инфраструктуру, хочется меньше зависимостей от одного игрока.

Bunny.net — европейский вызов

Bunny.net — это CDN (Content Delivery Network — сеть доставки контента, серверы по всему миру ускоряют загрузку сайта)-компания из Словении. Европейская. Их сеть точек присутствия (PoP, Point of Presence — точка присутствия сервиса в городе/регионе) меньше, чем у Cloudflare, но по скорости и производительности они конкурируют на равных.

Что важно: Bunny.net работает по модели pay-as-you-go. Платите за то, что используете. Для большинства сайтов — копейки в месяц. Минимальный платёж — доллар, но это честная цена за то, чтобы перестать быть «продуктом» и стать клиентом.

СРАВНЕНИЕ СЕРВИСОВ
───────────────────
                    Cloudflare    Bunny.net
                    ─────────     ─────────
Базовая цена       бесплатно      от $1/мес
Сеть PoP           огромная       средняя
Производительность ████████░░     █████████░
Локация HQ         США 🇺🇸        Словения 🇸🇮
Модель оплаты      фримиум        pay-as-you-go
Зависимость        критическая    низкая
Cloudflare vs Bunny.net — субъективная оценка автора оригинала

Как переехать: пошаговая инструкция

Автор подробно разобрал процесс миграции. Вот суть.

Шаг 1: Создаём Pull Zone

Pull Zone (зона вытягивания — основной механизм CDN: серверы сами забирают контент с вашего сайта и раздают посетителям) — это основной механизм CDN. Вы заходите в панель Bunny.net, создаёте зону и указываете адрес вашего сервера (origin). Система будет кешировать контент на своих серверах по всему миру.

Пример настройки:

Шаг 2: Подключаем свой домен

В настройках зоны находите раздел Hostnames и добавляете свой домен. Bunny.net выдаёт CNAME-запись (DNS-запись которая связывает домен с другим доменом), которую вы прописываете у регистратора. После DNS-пропагации (распространение DNS-настроек по всем серверам интернета — занимает от нескольких часов до суток) нажимаете «Verify & Activate SSL» — и готово. Ваш сайт теперь ходит через CDN.

Шаг 3: Настраиваем кеширование

Bunny.net по умолчанию уважает заголовки Cache-Control (заголовок который говорит браузеру и CDN как долго можно хранить файл в кеше) от вашего сервера. Если они настроены правильно — всё работает из коробки.

Если нет — включаете Smart Cache (умное кеширование — автоматически определяет что можно кешировать, а что нет). Это умный режим: кешируются картинки, CSS, JS, а HTML страницы — нет. Подходит для большинства случаев.

Автор пошёл дальше. Он кеширует даже HTML. За счёт этого страницы загружаются молниеносно. Для этого он добавил в свой роутер (Phoenix, Elixir) промежуточный слой с заголовком:

cache-control: public, s-maxage=86400, max-age=0

Это означает: кешировать на CDN (CDN-edge) на сутки, а в браузере — не кешировать. Результат — минимальное время отклика.

Единственный минус: после публикации нового поста нужно вручную очистить кеш зоны.

Полезные мелочи, которые стоит включить

Force SSL — редирект на HTTPS. Мелочь, но приятно.

Origin Shield (прослойка между CDN и вашим сервером — уменьшает нагрузку на ваш сайт) — защита вашего сервера. Все edge-серверы (сервер на краю сети — ближайший к пользователю сервер CDN) сначала обращаются к ближайшей shield-локации, и только если там пусто — летят к вам. Меньше нагрузки на origin.

Stale Cache (устаревший кеш — отдаётся когда ваш сайт недоступен) — два чекбокса: «Serve stale while origin offline» и «Serve stale while updating». CDN будет отдавать устаревший контент, если ваш сервер недоступен или обновляется. Для посетителей это незаметно.

Edge Rule для редиректа (правила для edge-серверов позволяют управлять трафиком без изменения кода сайта) — у каждой Pull Zone есть автоматический домен вроде `website.b-cdn.net`. Поисковики могут его индексировать и создавать дубли. Настраиваете Edge Rule: любой запрос на этот адрес редиректится на ваш настоящий домен. Готово.

ЗАПРОС ЧЕРЕЗ CDN
────────────────
Пользователь ──▶ Edge-сервер (ближайший PoP)
                         │
                         ▼
              Есть в кеше? ──▶ Да ──▶ Отдаём контент
                         │
                        Нет
                         │
                         ▼
               Origin Shield (кеширующий узел)
                         │
                         ▼
              Есть в Shield? ──▶ Да ──▶ Кешируем у себя, отдаём
                         │
                        Нет
                         │
                         ▼
                   Ваш сервер
                   (origin)
Как работает цепочка запросов в Bunny.net

Что ещё умеет Bunny.net

Автор честно признаёт: он описал только базовую настройку. Дальше идут:

Отдельно отмечена панель статистики: можно увидеть каждый запрос, чётко видно, что кешируется, а что нет. Это пригодится при отладке.

Выводы

Bunny.net — не идеал. Их сеть меньше, бесплатного тарифа нет, придётся платить пусть символический доллар. Но вы получаете европейскую компанию вместо американского монополиста, прозрачную модель оплаты и инструмент, который закрывает 90% задач Cloudflare для персональных проектов.

Автор статьи доволен переходом и постепенно мигрирует остальные проекты. Мне самому эта история интересна: CDN — это часто то, что ставят и забывают. Но когда забываешь проверить зависимости — получаешь сюрприз в самый неподходящий момент.

Ссылки

Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.