Top.Mail.Ru

Let’s Encrypt: бесплатный SSL-сертификат на Ubuntu за 5 минут

4
Let’s Encrypt: бесплатный SSL-сертификат на Ubuntu за 5 минут

Let’s Encrypt выдаёт бесплатные SSL-сертификаты и продлевает их автоматически. Установка через Certbot занимает несколько минут: утилита сама получает сертификат и настраивает веб-сервер. Единственное условие — домен должен указывать на IP вашего сервера до начала установки.

Что такое Let’s Encrypt

Let’s Encrypt — это центр сертификации (Certificate Authority), который с 2016 года выдаёт бесплатные TLS-сертификаты в автоматическом режиме. За проектом стоит некоммерческая организация ISRG (Internet Security Research Group), а среди спонсоров — Mozilla, Google, Cisco и другие крупные компании.

Сертификат действует 90 дней. Это короче чем у платных сертификатов, но Certbot обновляет его автоматически — вы один раз настраиваете и забываете.

Браузеры полностью доверяют сертификатам Let’s Encrypt: замочек в адресной строке выглядит так же, как у платных вариантов.

Что нужно перед установкой

Перед тем как запускать Certbot, убедитесь в нескольких вещах:

  • Домен (example.com и www.example.com) уже указывает на IP вашего сервера через A-запись DNS
  • На сервере установлен и запущен Nginx или Apache
  • Порт 80 (HTTP) открыт — Certbot использует его для подтверждения владения доменом
  • Есть доступ к серверу по SSH с правами sudo

Если DNS ещё не успел обновиться после смены записей, подождите — обычно хватает 15-30 минут, иногда до нескольких часов.

Установка Certbot для бесплатного SSL

Certbot — официальная утилита для работы с Let’s Encrypt. Установите её вместе с плагином для вашего веб-сервера.

Для Nginx:

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

Для Apache:

sudo apt update
sudo apt install certbot python3-certbot-apache -y

Получение сертификата для Nginx

Запустите Certbot с плагином для Nginx:

sudo certbot --nginx -d example.com -d www.example.com

Замените example.com на ваш домен. Если нужен только один домен без www — уберите вторую часть -d www.example.com.

Certbot задаст несколько вопросов:

  1. Введите email — на него придут уведомления об истечении сертификата
  2. Согласитесь с условиями использования
  3. Выберите, делиться ли email с EFF (можно отказаться)

После этого Certbot сам получит сертификат и обновит конфигурацию Nginx — добавит нужные директивы SSL и перенаправление с HTTP на HTTPS. Ничего редактировать вручную не придётся.

Проверьте, что сайт открывается по HTTPS и в адресной строке появился замочек.

Получение сертификата для Apache

Принцип тот же, только плагин другой:

sudo certbot --apache -d example.com -d www.example.com

Certbot так же автоматически изменит конфигурацию Apache и настроит перенаправление с HTTP на HTTPS.

Как проверить автообновление SSL-сертификата

Сертификаты Let’s Encrypt действуют 90 дней. Certbot при установке создаёт задачу в systemd, которая дважды в день проверяет все сертификаты и обновляет те, до истечения которых осталось меньше 30 дней.

Проверьте, что таймер активен:

sudo systemctl status certbot.timer

В выводе должна быть строка Active: active (waiting). Это значит, что автообновление настроено и работает.

Протестируйте процесс обновления без реального изменения сертификата:

sudo certbot renew --dry-run

Если команда завершилась без ошибок — всё настроено правильно, сертификат будет обновляться автоматически.

Что делать если Certbot выдал ошибку

Ошибка Could not bind to IPv4 or IPv6 — порт 80 занят другим процессом. Остановите Nginx или Apache на время проверки:

sudo systemctl stop nginx
sudo certbot certonly --standalone -d example.com
sudo systemctl start nginx

Режим --standalone поднимает собственный временный сервер для проверки.

Ошибка DNS problem: NXDOMAIN — домен не найден. Проверьте, что A-запись для домена создана и указывает на правильный IP. Подождите распространения DNS и попробуйте снова.

Ошибка Too many certificates already issued — вы превысили лимит Let’s Encrypt (50 сертификатов на домен в неделю). Подождите несколько дней.

Посмотреть установленные сертификаты

Список всех сертификатов на сервере:

sudo certbot certificates

В выводе видны домены, пути к файлам и дата истечения каждого сертификата.

Часто задаваемые вопросы

Сколько стоит сертификат Let’s Encrypt?

Ничего. Let’s Encrypt выдаёт сертификаты бесплатно для любого домена. Коммерческой подписки или платных уровней нет.

Чем Let’s Encrypt отличается от платных сертификатов?

Технически — только сроком действия (90 дней против 1-2 лет) и уровнем валидации. Let’s Encrypt выдаёт сертификаты типа DV (Domain Validation) — подтверждается только владение доменом. Платные центры сертификации дополнительно предлагают OV (Organization Validation) и EV (Extended Validation) с проверкой юридического лица. Для большинства сайтов DV-сертификата вполне достаточно.

Нужно ли вручную обновлять сертификат каждые 90 дней?

Нет. Certbot настраивает автоматическое обновление через systemd. Сертификат обновится сам, когда до истечения останется меньше 30 дней. Убедитесь что таймер работает командой sudo systemctl status certbot.timer.

Работает ли Let’s Encrypt с wildcard-сертификатами?

Да, но через другой тип проверки — DNS-01 challenge. Нужно добавить TXT-запись в DNS домена. Certbot поддерживает это через плагины для DNS-провайдеров. HTTP-проверка для wildcard не работает.

Что произойдёт если сертификат не обновится вовремя?

Браузеры начнут показывать предупреждение об истёкшем сертификате — сайт фактически станет недоступным для большинства посетителей. Let’s Encrypt отправляет письмо на указанный email за 20 дней до истечения, потом за 10. Если автообновление настроено правильно — до этого не дойдёт.

Для работы Let’s Encrypt нужен сервер с внешним IP и открытым портом 80. На UFO.Hosting каждый VPS получает выделенный IP-адрес — можно сразу настраивать домен и получать сертификат без дополнительных шагов.

Официальная документация: letsencrypt.org/docs

Похожее

Все статьи
138655 (3)

Что такое снапшоты и чем они отличаются от бэкапов

Снапшоты и бэкапы — два термина, которые при разговорах о серверах и хранении данных нередко сливаются во что-то одно. В реальности между ними такая же разница, как между сохранением в компьютерной игре и эвакуацией ценностей в бункер. Задача в целом…

Laptop Pc With Data Processing On Screen, Cloud Computing, Isometric Server Room Element, Server Cabinet Rack, File Cloud Storage Manager, Dark Neon

Что такое SFTP и чем он отличается от обычного FTP

Передачу файлов возможно без преувеличения считать одной из старейших операций в сети. Это вещь настолько же древняя, почти как сам интернет. И каждый день мы копируем гигабайты данных с сервера на сервер и редко задумываемся, что именно происходит под капотом.…