Стартап «СтартВеб» разрабатывает SaaS-платформу и выпускает по 2-3 новых микросервиса в месяц. Каждый сервис нуждается в HTTPS, reverse proxy и иногда — статической раздаче файлов. Команда из 4 разработчиков и 1 DevOps-инженера использовала Nginx, но сталкивалась с повторяющимися проблемами:
- Let's Encrypt — для каждого нового домена нужно настраивать certbot, cron для автопродления, следить за истечением сертификатов. Дважды за квартал сертификаты истекали из-за сбоя cron.
- Конфигурация — типовая настройка reverse proxy в Nginx занимает 25-35 строк (server block, ssl параметры, proxy_pass, headers, location). При 15 сервисах это 450+ строк конфигурации, в которой легко ошибиться.
- Перезагрузка — после изменения конфигурации нужен nginx -t && systemctl reload nginx. Забытый reload — сервис недоступен, забытый -t — Nginx падает.
- Docker — при запуске нового контейнера нужно вручную добавить upstream и перезагрузить Nginx. Автоматизация через nginx-proxy работала нестабильно.
DevOps-инженер Дмитрий предложил попробовать Caddy — современный веб-сервер с автоматическим HTTPS. Мы провели пилот на одном проекте и через неделю перевели всю инфраструктуру.
Оставить комментарий