Home » Использование standalone режима Certbot для получения SSL-сертификатов Let’s Encrypt на Ubuntu 24.04
Использование standalone режима Certbot для получения SSL-сертификатов Let’s Encrypt на Ubuntu 24.04

Использование standalone режима Certbot для получения SSL-сертификатов Let’s Encrypt на Ubuntu 24.04

В этом посте разберёмся, как получить бесплатный SSL-сертификат от Let’s Encrypt на свежей Ubuntu 24.04, используя Certbot в standalone-режиме. Почему это важно? Потому что SSL — это уже не просто «желательно», а must-have для любого сайта, API, панели управления или даже собственного домашнего сервера. Без HTTPS сегодня никуда: браузеры ругаются, поисковики занижают рейтинг, пользователи не доверяют. А Let’s Encrypt — это быстрый, бесплатный и автоматизированный способ получить сертификат, который признают все современные браузеры. Но вот нюанс: не всегда удобно или возможно интегрировать Certbot с веб-сервером (nginx, apache и т.д.), особенно если сервер только разворачивается, или если у вас кастомный софт, или вообще нет веб-сервера. Тут и приходит на помощь standalone-режим Certbot. В этой статье — как это работает, как быстро всё настроить, какие есть подводные камни, и как автоматизировать процесс. Всё с примерами, кейсами и лайфхаками.

Как работает standalone-режим Certbot?

Certbot — это официальный клиент для работы с Let’s Encrypt. Обычно он интегрируется с веб-сервером (nginx, apache), чтобы автоматически подтверждать владение доменом и устанавливать сертификаты. Но в standalone-режиме Certbot сам поднимает временный HTTP-сервер на 80 порту, чтобы принять запрос от Let’s Encrypt и доказать, что вы действительно управляете этим доменом. Это удобно, если:

  • Веб-сервер ещё не установлен или не запущен
  • Веб-сервер не поддерживается Certbot’ом напрямую
  • Вы хотите автоматизировать процесс в скриптах, CI/CD, Ansible и т.д.
  • Нужно получить сертификат для нестандартного приложения (почтовый сервер, API, IoT-устройство)

Вся магия в том, что Certbot временно занимает порт 80, принимает challenge от Let’s Encrypt, и после этого освобождает порт. Всё просто, но есть нюансы: если порт 80 уже занят (например, nginx’ом), Certbot не сможет стартовать. Придётся временно остановить веб-сервер или использовать другой способ (например, DNS challenge, но это отдельная история).

Быстрая настройка: пошаговая инструкция

Давайте по-честному: никто не любит читать километровые мануалы. Вот минимальный набор шагов, чтобы получить сертификат в standalone-режиме на Ubuntu 24.04. Всё проверено на реальных серверах.

  1. Убедитесь, что порт 80 свободен.
    Если у вас уже крутится nginx, apache или что-то ещё на 80 порту — остановите это на время получения сертификата. Проверить, что порт свободен:

    sudo ss -tlnp | grep :80

    Если что-то найдено — остановите сервис:

    sudo systemctl stop nginx
    # или
    sudo systemctl stop apache2
  2. Установите Certbot.
    На Ubuntu 24.04 это делается одной командой:

    sudo apt update
    sudo apt install certbot

    Официальная инструкция Certbot
  3. Запустите Certbot в standalone-режиме.
    Самая простая команда:

    sudo certbot certonly --standalone -d example.com -d www.example.com

    Certbot спросит ваш email (для уведомлений о продлении), примет лицензию и попытается получить сертификат. Если всё ок — сертификаты появятся в /etc/letsencrypt/live/example.com/.
  4. Запустите обратно ваш веб-сервер.

    sudo systemctl start nginx
    # или
    sudo systemctl start apache2

    Теперь можно подключать сертификаты к вашему серверу.

Всё, сертификат получен! Можно подключать его к nginx, apache, postfix, dovecot, haproxy, minio, или чему угодно.

Практические советы, схемы и кейсы

Вот несколько реальных сценариев, где standalone-режим — это прямо спасение:

Кейс Плюсы Минусы Рекомендации
Сервер только что установлен, веб-сервер ещё не настроен Можно сразу получить сертификат, не заморачиваясь с конфигами nginx/apache Порт 80 должен быть свободен Используйте standalone, потом подключайте сертификаты к веб-серверу
Получение сертификата для нестандартного приложения (например, почтовый сервер) Не нужен веб-сервер, Certbot сам всё сделает В момент запроса порт 80 должен быть свободен Остановите все сервисы на 80 порту на время запроса
Автоматизация в CI/CD, Ansible, bash-скриптах Можно полностью автоматизировать процесс получения и продления сертификатов Порт 80 должен быть свободен на момент запуска скрипта Добавьте остановку/запуск веб-сервера в скрипт
Сервер с несколькими сайтами (виртуальный хостинг) Можно получить сертификаты для каждого домена отдельно Придётся останавливать веб-сервер для каждого запроса Рассмотрите webroot-режим или DNS challenge для автоматизации

Примеры команд для автоматизации

Если хочется всё автоматизировать (например, для продления сертификатов через cron), вот пример bash-скрипта:


#!/bin/bash
systemctl stop nginx
certbot certonly --standalone -d example.com -d www.example.com --non-interactive --agree-tos -m [email protected]
systemctl start nginx

Добавьте этот скрипт в cron (например, раз в 2 месяца), и забудьте о ручном продлении.

Похожие решения и альтернативы

  • acme.sh — лёгкий bash-клиент для Let’s Encrypt и других ACME CA. Работает без python, поддерживает standalone, webroot, dns. acme.sh на GitHub
  • lego — ACME-клиент на Go, часто используется в docker-окружениях и Kubernetes. lego на GitHub
  • dehydrated — минималистичный bash-клиент, хорош для автоматизации. dehydrated на GitHub

Но Certbot — самый популярный и поддерживаемый, особенно на Ubuntu.

Статистика и сравнение с другими способами

Метод Плюсы Минусы Когда использовать
standalone Не нужен веб-сервер, просто и быстро Порт 80 должен быть свободен Первичная настройка, нестандартные приложения, автоматизация
webroot Не нужно останавливать веб-сервер Нужно настраивать webroot, иногда сложно с виртуальными хостами Много сайтов на одном сервере, постоянный веб-сервер
dns-01 challenge Не нужен доступ к портам, можно для wildcard сертификатов (*.example.com) Нужно управлять DNS, не все провайдеры поддерживают API Wildcard, автоматизация для сложных инфраструктур

Интересные факты и нестандартные применения

  • Можно получить сертификат для локального сервера, если домен прописан в DNS и доступен снаружи
  • Certbot поддерживает pre/post hooks — можно автоматом перезапускать сервисы после обновления сертификата
  • Можно использовать standalone-режим для получения сертификатов для IoT-устройств, которые не умеют работать с веб-серверами
  • Сертификаты Let’s Encrypt действуют 90 дней — это не баг, а фича: больше безопасности, меньше шансов забыть об обновлении
  • Можно получить сертификат для нескольких доменов и поддоменов одной командой

Автоматизация и новые возможности

Standalone-режим отлично ложится в автоматизацию: скрипты, Ansible, CI/CD пайплайны. Можно:

  • Автоматически получать и продлевать сертификаты для новых доменов
  • Встраивать получение сертификата в процесс деплоя (например, при развёртывании нового сервиса)
  • Использовать Certbot в docker-контейнерах (например, для временного получения сертификата и передачи его в основной контейнер)
  • Сделать свой мини-сервис для выдачи сертификатов внутри компании

Для автоматизации используйте флаги --non-interactive, --agree-tos, -m email — это позволит запускать Certbot без ручного ввода.

Выводы и рекомендации

Standalone-режим Certbot — это быстрый, надёжный и универсальный способ получить бесплатный SSL-сертификат от Let’s Encrypt на Ubuntu 24.04. Он идеально подходит для:

  • Первичной настройки серверов
  • Автоматизации и скриптов
  • Получения сертификатов для нестандартных приложений
  • Тех случаев, когда веб-сервер ещё не настроен или не нужен

Главное — убедитесь, что порт 80 свободен на момент запроса. Если у вас сложная инфраструктура или много сайтов — рассмотрите webroot или DNS challenge. Для автоматизации — используйте скрипты и cron, не забывайте про автоматический перезапуск сервисов после обновления сертификатов.

Если вы только выбираете сервер для своих проектов — посмотрите VPS или выделенные серверы на этом блоге — там можно быстро развернуть Ubuntu 24.04 и сразу настроить SSL по этой инструкции.

SSL — это не боль, если использовать правильные инструменты. Certbot в standalone-режиме — один из них. Удачной автоматизации и надёжных сертификатов!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked