Сертификаты и Nginx-конфиги ломаются? Caddy делает HTTPS сам
Caddy это веб-сервер с открытым кодом, который сам выпускает и продлевает HTTPS-сертификаты. Разбираем, как он заменяет Nginx и certbot перед сайтом, CRM и ботами, чем отличается от Certimate и Cosmos и какие у него ограничения.
Конфиг, который никто не помнит
Сервер компании собирали два года назад. Сайт, CRM, пара ботов, мини-приложение. Перед ними стоит Nginx, и конфиг для него правили шесть раз: добавляли поддомены, копировали блоки, чинили редирект. Сертификаты выпускает отдельная программа по таймеру, и таймер однажды тихо перестал работать.
Через три месяца браузер показывает красный экран, заявки с сайта не приходят, бот молчит. Разработчик, который всё это настраивал, давно работает в другом месте.
Ниже об инструменте, который убирает саму причину таких поломок: сертификат перестаёт быть отдельной задачей.
Что такое Caddy
Репозиторий: github.com/caddyserver/caddy. Проект написан на Go, лицензия Apache-2.0, у репозитория больше 76 тысяч звёзд. Последняя версия на 4 октября 2026 года, 2.11.7, вышла 3 октября. Проект живой.
Caddy отдаёт сайты по HTTP/1.1, HTTP/2 и HTTP/3 и работает как обратный прокси: принимает запрос из интернета и передаёт его нужной программе на сервере. Весь сервер это один бинарник. Конфиг лежит в обычном текстовом файле Caddyfile, а при желании его можно писать на JSON.
Вот конфиг для сайта и CRM на одном сервере.
example.ru {
reverse_proxy localhost:3000
}
crm.example.ru {
reverse_proxy localhost:8080
}
Это вся настройка. Про сертификат в файле ни слова, потому что Caddy сам получает его для каждого доменного имени из адреса, включает HTTPS и продлевает заранее. В документации сказано, что по умолчанию он использует Let's Encrypt и ZeroSSL и переключается между ними, если один не ответил.
Конфиг можно менять на ходу. У Caddy есть административный API на локальном адресе localhost:2019. Отправили новую настройку, сервер применил её без остановки, а при ошибке откатился на прежнюю.
Чем отличается от Nginx, Certimate и Cosmos
С Nginx разница в том, кто отвечает за сертификат. Nginx сам их не выпускает, поэтому рядом ставят отдельную программу, чаще всего certbot, и настраивают продление. Сломаться может любое из двух звеньев. У Caddy оба внутри одного процесса. Зато у Nginx огромная экосистема, готовые рецепты на любой случай и тысячи специалистов, которые знают его наизусть.
С Certimate разница в задаче. В статье про Certimate описана панель, которая выпускает сертификаты и раскладывает их по серверам. Она нужна, когда сертификатов много и они живут на разных машинах и в разных сервисах. Caddy работает на самом сервере: сертификат нужен ему самому, и он берёт его сам.
С Cosmos разница в том, что у него есть единый аккаунт сотрудников и двухфакторная защита, о чём рассказано в статье про защищённый шлюз для офиса. Из коробки Caddy такого не даёт. Это веб-сервер, панели управления в нём нет.
Как его ставят
Официальные варианты такие: пакеты для Debian и Ubuntu, Fedora и Red Hat, Arch, готовый Docker-образ и статичные бинарники на странице релизов GitHub. В документации советуют ставить Caddy как системную службу, особенно на боевом сервере. Если боты и сайты уже работают в контейнерах, удобнее Docker: Caddy стоит в соседнем контейнере и обращается к остальным по имени.
На пустом сервере установка и первый рабочий сайт занимают минут двадцать. Подготовку самого сервера, пользователей и защиту разбирает статья про свой VPS с нуля, там же показан вариант с Nginx для сравнения.
Что важно учесть
Порты. Чтобы центр сертификации проверил, что домен ваш, Caddy нужны доступные снаружи порты 80 и 443. Если сервер сидит за корпоративным файрволом или провайдер закрывает эти порты, сертификат не выпустится. Есть проверка через DNS, ей открытые порты не нужны, но требуется модуль под вашего DNS-провайдера.
Плагины. Официальные пакеты содержат только стандартные модули. Понадобился сторонний, например для DNS-проверки, значит, Caddy собирают заново утилитой xcaddy или берут сборку со страницы загрузки. В документации сказано, что поддержка DNS-провайдеров остаётся делом сообщества. Какие российские DNS-провайдеры там есть, мы не проверяли, смотрите список перед выбором.
Экосистема. Статей, шаблонов и готовых ответов у Nginx заметно больше, а документация Caddy на английском. Если в компании есть администратор, который хорошо знает Nginx, и сертификаты у него не ломаются, переезд ради переезда не нужен.
Центры сертификации. Let's Encrypt и ZeroSSL находятся за пределами России. Как они отвечают с вашего сервера, надо проверить на практике до перевода боевого сайта. Сертификаты российского удостоверяющего центра Минцифры в этой связке мы не проверяли и ничего про них не заявляем.
Что можно сделать уже сейчас
Первое. Выпишите все домены и поддомены, которые смотрят на ваш сервер, и рядом даты окончания сертификатов. Если хотя бы по одной строке ответа нет, проблема уже есть.
Второе. Поднимите Caddy на тестовом поддомене рядом с боевым Nginx и проверьте, что сертификат выпустился и сайт открывается. Для теста порты 80 и 443 нужны свободные, так что сначала выберите адрес или время, когда Nginx можно потеснить.
Третье. Если систем несколько, соберите их в один Caddyfile по блоку на каждый домен. Такой файл читается за минуту, и новый сотрудник поймёт его без инструкции.
Четвёртое. Добавьте проверку доступности сайта и срока сертификата, как в статье про мониторинг сайта и домена. Автоматическое продление контроль не отменяет.
Частые вопросы
Нужно ли платить за сертификаты?
За сам Caddy и за сертификаты Let's Encrypt и ZeroSSL платить не нужно. Платите за сервер и домен.
Можно ли оставить Nginx для одних сайтов и поставить Caddy для других?
Можно, если они слушают разные адреса сервера. На одном адресе порты 80 и 443 занимает одна программа, поэтому обычно Caddy ставят первым, а Nginx переносят на внутренний порт.
Что будет, если центр сертификации недоступен?
Caddy продлевает сертификат заранее, так что запас по времени есть, а при сбое он пробует второй центр. Если оба недоступны с вашего сервера, продление не пройдёт. Поэтому срок сертификата стоит держать под мониторингом.
Коротко о главном
Caddy убирает из серверной жизни лишнее звено: сертификат получает и продлевает сам веб-сервер, а конфиг помещается на один экран. Платить за это приходится открытыми портами, сборкой плагинов через xcaddy и экосистемой поменьше, чем у Nginx.
Мы настраиваем сервер и переводим ваши сайты, CRM и ботов на Caddy под ключ, с проверкой сертификатов и мониторингом. Подробности на странице DevOps как услуга. Напишите мне в Telegram слово «ВЕБСЕРВЕР», разберём, что у вас стоит сейчас и что стоит переносить.
Ещё open-source для бизнеса
Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.
Что я делаю для бизнеса
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


