Как я из cloudflare мигрировал
Во всех своих проектах до недавнего времени использовал этот замечательный сервис. Да и такое ощущение, что его использует половина интернета.
Ведь за свою бесплатную цену Cloudflare предлагает действительно богатый функционал:
- защита от DDoS,
- кэширование статических файлов,
- выпуск SSL-сертификатов,
- туннель (Cloudflare Tunnel) и Zero Trust,
- и, конечно, DNS-роутинг.
С помощью их Cloudflare Tunnel мне удавалось строить довольно хитрую схему, в которой весь трафик шел по TCP-туннелю, а сами сервера оставались полностью скрыты от внешнего мира. Безопасность и устойчивость за 0 рублей - красота
Это все вкусно, но в текущих реалиях за последние 3 года Cloudflare очень сильно деградировал. Блокировка его IP-адресов на территории РФ и похожая политика самого Cloudflare достигли своего пика в середине июля. В результате сайты, находящиеся под Cloudflare, просто перестали открываться для большей части пользователей в России.
Пришло время прощаться.
Была идея сделать пару reverse proxy-серверов, которые по туннелю передавали бы трафик на основной сервер. Архитектурно красиво, но экономически — сомнительно. Да и мы не Яндекс плодить инфраструктуру ради пары сервисов: GitLab, Affine, ArgoCD и нескольких приложений.
Что нужно было от замены Cloudflare:
- Автоматическая выдача SSL-сертификатов.
- DNS-провайдер, совместимый с cert-manager, и желательно российский.
- Минимальная защита от DDoS.
- Базовый мониторинг.
Поэтому я выбрал народное и проверенное решение: Let’s Encrypt + Fail2Ban (спасибо за подсказку) + Prometheus/Grafana
Самым большим открытием стало, что не нужно изобретать велосипед для интеграции DNS с cert-manager. Selectel выложил готовый веб хук для интеграции с Let's Encrypt.
Он позволяет cert-manager автоматически выпускать сертификаты через DNS-валидацию без танцев с бубном. Указываешь ClusterIssuer, и всё работает.
И что ещё приятнее — в каждом проекте не нужно руками добавлять сертификаты. Достаточно одной аннотации в Ingress cert-manager.io/cluster-issuer: "letsencrypt-dns" и После этого cert-manager сам всё выдаёт и обновляет - ну вкусняшка.
Остались два пункта, которые раньше обеспечивал Cloudflare: защита от DDoS и наблюдение за сервисами.
Fail2Ban Для базовой защиты я использую Fail2Ban, настроенный на отслеживание логов Nginx и SSH. Он автоматически банит IP-адреса, которые ведут себя подозрительно: перебирают пароли, стучатся не туда или пробуют нестандартные пути (типа /.env, /admin и т.п.) Плюс — добавил логирование с IP в отдельный файл и простую систему алертов.
Prometheus + Grafana Для мониторинга завёл связку Prometheus + Grafana. Это позволяет отслеживать:
- нагрузку на CPU, память, диск,
- трафик,
- аптайм сервисов,
- а также кастомные метрики. Можно легко повесить алерты на Discord/Telegram и держать руку на пульсе - опять красота.
Cloudflare — мощный инструмент, но он перестал быть универсальным решением для рунета. Миграция на своё решение заняла время, но дала контроль над инфраструктурой и гибкость.
В итоге я получил независимую, управляемую и предсказуемую инфраструктуру — без завязки на внешние сервисы и с полной прозрачностью.
· 03.08.2025
Сейчас многие сервиса предоставляют let's сертификаты, само подписанные. Если не нужно иметь за рубежом сайт. Вариант нормальный.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 03.08.2025
Да, спасибо а тут мы сами напрямую общаемся с LE
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён