Certbot или acme.sh: что выбрать для сервера
Бесплатный SSL-сертификат от Let's Encrypt сегодня ставит почти каждый сайт, и для его выпуска и автопродления нужен ACME-клиент. Два самых популярных — Certbot и acme.sh. Выбор Certbot vs acme.sh — это выбор между официальным удобным инструментом с интеграциями и лёгким универсальным скриптом без лишних зависимостей. Оба выпускают одни и те же сертификаты, но по-разному. Разберём.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Коротко: официальный клиент против лёгкого скрипта
Certbot — официальный клиент Let's Encrypt от EFF. Он написан на Python, умеет автоматически настраивать популярные веб-серверы (Nginx, Apache), сам правит их конфиги под HTTPS и ставит задачу автопродления. Для типовой связки «сайт на Nginx плюс Let's Encrypt» Certbot делает почти всё за вас: одна команда — и сертификат выпущен, конфиг обновлён, продление настроено. Это путь наименьшего сопротивления с богатой документацией.
acme.sh — легковесный ACME-клиент, написанный на чистом shell. У него нет зависимостей от Python и системных пакетов: это один скрипт, который работает почти где угодно, даже на минималистичных системах и в контейнерах. acme.sh известен гибкостью: он поддерживает огромное число DNS-провайдеров для валидации по DNS, легко автоматизируется и не тянет за собой лишнего. Его любят за минимализм, переносимость и контроль над процессом.
Certbot: удобство и интеграции
Certbot выигрывает удобством для типовых сценариев. Выпуск сертификата с автоматической настройкой Nginx — одна команда:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Он сам добавит в конфиг Nginx нужные директивы, настроит редирект с HTTP на HTTPS и поставит таймер автопродления. Для человека, который просто хочет включить HTTPS на сайте и не думать, это идеально. Минус — зависимости: Certbot тянет Python и системные пакеты, что на минималистичных или нестандартных системах бывает неудобно. Также он чуть менее гибок в экзотических сценариях DNS-валидации, чем acme.sh, хотя для большинства сайтов его возможностей хватает с избытком.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под сайтыacme.sh: минимализм и гибкость
acme.sh силён там, где важны лёгкость, переносимость и контроль. Один shell-скрипт без зависимостей ставится куда угодно и не конфликтует с системными пакетами. Его конёк — валидация по DNS через API множества провайдеров: это позволяет выпускать в том числе wildcard-сертификаты (*.example.com) и получать SSL для серверов, не выставленных наружу по HTTP. Для нестандартных схем, автоматизации и большого числа доменов acme.sh часто удобнее.
Плата за гибкость — чуть выше порог входа для новичка. acme.sh не будет сам править конфиг вашего Nginx: он выпускает и обновляет сертификаты, а установку в веб-сервер и перезагрузку вы настраиваете сами (обычно через хуки). Это даёт полный контроль, но требует понимания процесса. Для того, кто хочет всё сделать руками и точно знать, что происходит, это плюс; для того, кому нужно «просто включить HTTPS», Certbot проще.
Таблица: Certbot vs acme.sh
| Критерий | Certbot | acme.sh |
|---|---|---|
| Язык / зависимости | Python + пакеты | Чистый shell, без зависимостей |
| Автонастройка Nginx/Apache | Да, сам правит конфиг | Нет, через хуки вручную |
| Wildcard и DNS-валидация | Поддерживает | Очень гибко, много провайдеров |
| Переносимость | Средняя | Высокая, ставится куда угодно |
| Порог входа | Низкий для типовых сайтов | Чуть выше |
| Контроль над процессом | Больше автоматики | Полный контроль |
| Автопродление | Из коробки | Из коробки (cron) |
| Кому подходит | Просто включить HTTPS | Гибкость, wildcard, минимализм |
Вывод: просто и удобно включить HTTPS на типовом сайте — Certbot; гибкость, wildcard и минимализм без зависимостей — acme.sh.
Что выбрать под задачу
Если у вас типовой сайт на Nginx или Apache и цель — быстро включить HTTPS с автопродлением, не вникая в детали ACME — берите Certbot. Он сам настроит веб-сервер и продление, а документации по нему больше всего. Для большинства сайтов это самый быстрый путь к рабочему SSL.
Если вам нужны wildcard-сертификаты, валидация по DNS через API провайдера, установка на минималистичную систему без Python, или вы просто хотите полный контроль над процессом и минимум зависимостей — acme.sh удобнее. Он особенно хорош при автоматизации на многих серверах и в контейнерах. На практике многие панели и reverse proxy (тот же Nginx Proxy Manager или Traefik) вообще берут выпуск SSL на себя — тогда отдельный клиент не нужен. Но если вы управляете сертификатами сами, выбор между Certbot и acme.sh сводится к тому, что вам ближе: автоматика или контроль.
Сервер и оплата из России
Оба клиента невесомы и работают на любом VPS: ресурсов они практически не требуют, всё определяется вашими сайтами. Для успешного выпуска сертификата по HTTP-валидации нужен домен, указывающий на IP сервера, и открытый 80-й порт; для DNS-валидации — доступ к API вашего DNS-провайдера. На KVM-VPS с чистым IP и открытыми портами обе схемы работают без ограничений. В MAATRIX сервер под сайты с бесплатным SSL можно арендовать в нужной локации и оплатить картой РФ, по СБП, криптой или токеном MAAT.
Локацию берите по аудитории: сайты для российских пользователей — ближе к ним, зарубежные проекты — в США или Великобритании. Выпуск и продление Let's Encrypt бесплатны и не зависят от провайдера, важно лишь, чтобы сервер имел валидный домен и доступ по нужным портам.
Один частый источник проблем стоит держать в голове заранее — автопродление. Сертификаты Let's Encrypt живут 90 дней, и если продление по каким-то причинам перестало срабатывать, сайт однажды встретит посетителей ошибкой безопасности. И Certbot, и acme.sh ставят задачу продления автоматически, но проверить, что она реально отрабатывает, стоит хотя бы раз: запустить продление в тестовом режиме и убедиться, что после него веб-сервер перезагружается с новым сертификатом. Пара минут проверки избавляет от неприятного сюрприза через три месяца.
Итог: кому что
Certbot — официальный, удобный клиент, который сам настраивает веб-сервер и продление; оптимален, чтобы быстро включить HTTPS на типовом сайте. acme.sh — лёгкий универсальный скрипт без зависимостей с гибкой DNS-валидацией и поддержкой wildcard; выбор для контроля, минимализма и нестандартных схем. Оба выпускают одинаковые бесплатные сертификаты. Берите Certbot для простоты, acme.sh — для гибкости.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под сайтыОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Certbot или acme.sh — что проще для новичка?
Certbot: одной командой он выпускает сертификат и сам правит конфиг Nginx или Apache с автопродлением. acme.sh гибче, но установку в веб-сервер настраиваете вы.
Чем acme.sh лучше для wildcard-сертификатов?
У него очень гибкая DNS-валидация через API множества провайдеров, что удобно для выпуска *.example.com. Certbot тоже умеет DNS-валидацию, но acme.sh здесь традиционно гибче.
Нужен ли вообще отдельный ACME-клиент?
Не всегда: панели и reverse proxy вроде Nginx Proxy Manager или Traefik выпускают SSL сами. Отдельный клиент нужен, когда вы управляете сертификатами вручную.
Как оплатить сервер из России?
В MAATRIX — картой российского банка, через СБП, криптовалютой или токеном MAAT. Сам сертификат Let's Encrypt бесплатен.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.