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

Сегодня разбираемся с одной из самых частых задач в жизни любого, кто хоть раз поднимал сервер на Ubuntu: как получить бесплатный SSL-сертификат от Let’s Encrypt через Certbot в standalone-режиме. Почему это важно? Потому что SSL — это не только про зелёный замочек в браузере, но и про доверие, безопасность, SEO и вообще про то, чтобы ваши клиенты не плевались на “небезопасное соединение”. А Certbot в standalone-режиме — это быстрый способ получить сертификат, даже если у вас ещё нет настроенного веб-сервера или вы не хотите его останавливать надолго. В этой статье — только практика, никакой воды, только рабочие команды, реальные кейсы и советы, которые сэкономят вам часы жизни.

Как это работает?

Let’s Encrypt — это бесплатный центр сертификации, который выдаёт SSL-сертификаты, подтверждая, что вы действительно владеете доменом. Certbot — официальный клиент для работы с Let’s Encrypt. У него есть несколько режимов работы, но сегодня нас интересует standalone. В этом режиме Certbot сам поднимает временный HTTP-сервер на 80 порту, чтобы Let’s Encrypt мог проверить ваш домен. Это удобно, если у вас ещё нет веб-сервера или вы не хотите лезть в его конфиги.

  • Плюсы: Не нужно ковырять nginx/apache, всё работает “из коробки”.
  • Минусы: Порт 80 должен быть свободен. Если у вас уже что-то слушает 80 порт — придётся его остановить на время верификации.

Вся магия в том, что Certbot запускает мини-сервер, Let’s Encrypt стучится по HTTP на ваш домен, видит нужный challenge — и выдаёт сертификат. Всё просто, если знать нюансы.

Как быстро и просто всё настроить?

Показываю на примере Ubuntu 24.04. Всё, что ниже — проверено лично, работает на свежих VPS и dedicated (если что, VPS тут, dedicated тут).

  1. Обновляем систему и ставим Certbot:


sudo apt update
sudo apt install certbot

  1. Проверяем, что порт 80 свободен:


sudo ss -tlnp | grep :80

Если что-то слушает порт 80 (например, nginx или apache), временно останавливаем:


sudo systemctl stop nginx
# или
sudo systemctl stop apache2

  1. Получаем сертификат:


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

Certbot спросит ваш email (для уведомлений о продлении) и согласие с условиями. Всё, сертификат появится в /etc/letsencrypt/live/example.com/.

  1. Запускаем обратно ваш веб-сервер:


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

Теперь можно прописывать пути к сертификатам в конфиге nginx/apache и радоваться жизни.

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

Кейс 1: Сервер только что поднят, веб-сервер ещё не установлен

  • Идеальный случай для standalone: порт 80 свободен, сертификат получаем за 2 минуты.
  • Дальше ставим nginx/apache и сразу указываем свежий сертификат.

Кейс 2: На сервере уже работает nginx на 80 порту

  • Вариант 1: Остановить nginx на 30 секунд, получить сертификат, запустить обратно.
  • Вариант 2: Использовать webroot-режим (но это уже другая история).

Кейс 3: Несколько доменов на одном сервере

  • Можно указать все домены через -d (например, -d site1.com -d site2.com).
  • Главное — чтобы DNS всех доменов указывал на этот сервер.

Кейс 4: Сертификат для нестандартного порта

  • Let’s Encrypt всегда проверяет по 80 порту, даже если ваш сайт работает на 8080 или 8443.
  • На время верификации порт 80 должен быть доступен снаружи.

Таблица: Сравнение режимов Certbot

Режим Когда использовать Плюсы Минусы
standalone Нет веб-сервера или можно остановить на время Просто, быстро, не надо лезть в конфиги Порт 80 должен быть свободен
webroot Веб-сервер уже работает Не надо останавливать сервисы Нужно знать корень сайта, прописывать пути
nginx/apache plugin Веб-сервер поддерживается Certbot Автоматически прописывает сертификаты Не всегда работает с кастомными конфигациями

Похожие решения, программы и утилиты

  • acme.sh — альтернатива на bash, лёгкая и гибкая, поддерживает DNS-валидацию, работает без root.
  • Get HTTPS for free — ручной способ через браузер, для параноиков.
  • lego — клиент на Go, часто используется в docker-окружениях.

Статистика и сравнение

  • Let’s Encrypt — лидер по количеству выданных SSL-сертификатов в мире (более 300 млн доменов).
  • Certbot — официальный клиент, поддерживается Electronic Frontier Foundation (официальный сайт).
  • acme.sh — популярен среди DevOps за счёт простоты автоматизации и поддержки wildcard-сертификатов через DNS.

Интересные факты и нестандартные способы использования

  • Можно получить сертификат для внутреннего сервиса, если домен резолвится только внутри вашей сети (через DNS-валидацию).
  • Certbot можно запускать из cron для автоматического продления сертификатов (certbot renew --standalone).
  • С помощью Certbot можно получить сертификаты для IoT-устройств, если они доступны по HTTP извне.
  • Можно использовать standalone-режим для быстрой миграции сертификатов между серверами (например, подняли новый сервер, получили сертификат, переехали).

Автоматизация и скрипты: новые возможности

Certbot в standalone-режиме отлично ложится в автоматизацию. Например, можно написать скрипт, который:

  • Останавливает nginx
  • Получает/продлевает сертификат
  • Запускает nginx обратно
  • Отправляет уведомление в Telegram или Slack

Пример простого bash-скрипта для автоматического продления:


#!/bin/bash
systemctl stop nginx
certbot renew --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
systemctl start nginx

Можно добавить этот скрипт в cron раз в месяц — и забыть о ручном продлении сертификатов.

Вывод — заключение и рекомендации

Certbot в standalone-режиме — это must-have инструмент для любого, кто хочет быстро и без лишних танцев получить бесплатный SSL-сертификат на Ubuntu 24.04. Особенно если вы только что подняли сервер, ещё не настроили веб-сервер или не хотите лезть в его конфиги. Это решение простое, надёжное и отлично подходит для автоматизации. Если у вас сложная инфраструктура — посмотрите в сторону acme.sh или DNS-валидации, но для 90% задач standalone-режим — идеальный выбор.

Рекомендую: используйте Certbot standalone для первичной настройки, автоматизируйте продление через cron, и не забывайте проверять, что порт 80 доступен снаружи. Если нужен VPS или dedicated для экспериментов — VPS тут, dedicated тут. SSL — это не боль, если знаешь правильные инструменты!

Официальные ссылки для самостоятельного изучения:


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

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

Leave a reply

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