Что такое Let's Encrypt?
Let's Encrypt — это проект от Internet Security Research Group (ISRG), который предлагает бесплатные SSL/TLS-сертификаты для всех желающих. Платформа появилась в 2016 году и с тех пор стала стандартом для многих сайтов, благодаря своей простоте и надёжности.
Основные преимущества Let's Encrypt:
Бесплатно навсегда — вы не платите за выпуск или продление сертификатов.
Автоматизация — с помощью Certbot сертификаты можно устанавливать и обновлять автоматически.
Простота — установка занимает всего несколько минут.
Поддержка браузеров — сертификаты Let's Encrypt признаются всеми современными браузерами.
Улучшение доверия — HTTPS добавляет доверия к сайту и защищает данные пользователей.
Как установить Let's Encrypt?
Для большинства популярных веб-серверов (Nginx или Apache) достаточно использовать утилиту Certbot. Пример для Nginx:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
Для Apache:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
Certbot автоматически получит и настроит сертификат для вашего сайта.
Автоматическое обновление сертификатов
Сертификаты действуют 90 дней, но могут автоматически продлеваться. Certbot обычно добавляет задание в cron или systemd, чтобы сертификаты продлевались без вмешательства пользователя. Проверка работоспособности:
sudo certbot renew --dry-run
Условия выдачи сертификатов
Чтобы сертификат Let's Encrypt работал как с основным доменом (example.com
), так и с поддоменом www.example.com
, необходимо выполнить следующие условия:
1. Указание обоих доменов при запросе сертификата
Пример с использованием certbot
:
2. Наличие правильных DNS-записей
В DNS должны быть такие записи:
Это обеспечит доступность обоих адресов для проверки.
3. DNS-записи должны быть доступны публично
Проверьте доступность:
4. Сервер должен обрабатывать HTTP-запросы для обоих адресов
Let's Encrypt проверяет доступность через HTTP (HTTP-01 challenge). Поэтому ваш веб-сервер (например, Nginx или Apache) должен отвечать на запросы:
-
http://example.com/.well-known/acme-challenge/...
-
http://www.example.com/.well-known/acme-challenge/...
5. Альтернатива: сертификат только для одного домена с редиректом
Если сертификат выдан только для example.com
, можно настроить 301-редирект с www.example.com
на основной домен. Но лучше — сразу получить сертификат на оба имени.
Альтернативы Certbot
Если Certbot вам не подходит, можно использовать другие клиенты:
acme.sh — лёгкий bash-скрипт.
lego — клиент на Go.
Caddy — веб-сервер с автоустановкой HTTPS.
Заключение
Let's Encrypt делает защищённый интернет доступным каждому. Установка HTTPS сегодня — это не роскошь, а необходимость. Если ваш сайт до сих пор работает по HTTP — самое время сделать шаг вперёд к безопасности и доверию.