Let's Encrypt изменил рынок SSL-сертификатов: до его появления базовый DV-сертификат стоил $50–100/год. С 2016 года бесплатный SSL доступен любому владельцу домена. К 2023 году выдано более 3 миллиардов сертификатов.
Как работает ACME
ACME (Automatic Certificate Management Environment, RFC 8555) — протокол автоматизации получения и обновления сертификатов. Клиент (certbot, acme.sh) доказывает владение доменом одним из трёх способов:
- HTTP-01: файл с токеном по адресу
http://domain/.well-known/acme-challenge/TOKEN. - DNS-01: TXT-запись
_acme-challenge.domain. Единственный способ для wildcard-сертификатов. - TLS-ALPN-01: через TLS на порту 443.
Автоматическое обновление
Сертификат Let's Encrypt действует 90 дней. Certbot рекомендует обновлять за 30 дней до истечения. Стандартная настройка в Linux:
# cron или systemd timer
0 0,12 * * * certbot renew --quiet
Certbot автоматически перезагружает Nginx или Apache после обновления.
История
Let's Encrypt основан в 2013 году консорциумом Internet Security Research Group (ISRG). Публичная бета запущена 3 декабря 2015 года. Официальный запуск — апрель 2016. Сертификат доверия добавлен в Mozilla, Chrome, Apple в 2015–2016. В 2020 году истёк кросс-сертификат DST Root X3, что вызвало проблемы на Android <7.1 — решено переходом на собственный корневой ISRG Root X1.
Ограничения
- Только DV-сертификаты (нет OV/EV).
- Лимиты: 50 сертификатов в неделю на домен, 100 доменов на сертификат.
- Wildcard только через DNS-01 challenge.
- IP-адреса без домена — не поддерживаются.
Автоматическое получение и обновление
Let's Encrypt работает через протокол ACME (RFC 8555). Клиент (Certbot, acme.sh) доказывает владение доменом одним из методов: HTTP-01 challenge (создаёт файл на /.well-known/acme-challenge/), DNS-01 challenge (добавляет TXT-запись — требуется для Wildcard), TLS-ALPN-01 (через порт 443 без отдельного веб-сервера).
Certbot с Nginx: certbot --nginx -d example.com -d www.example.com — автоматически настраивает Nginx, получает сертификат, добавляет cron для обновления. Сертификат действует 90 дней, обновляется автоматически при сроке жизни <30 дней. acme.sh — альтернатива без Python-зависимостей, устанавливается через curl.
Ограничения Let's Encrypt
Let's Encrypt не выдаёт: EV-сертификаты, OV-сертификаты, сертификаты со сроком более 90 дней (планируется сокращение до 6 дней в будущем), сертификаты для IP-адресов (только для доменов). Rate limits: 50 сертификатов на домен в неделю, 5 Failed Validations в час. Для Wildcard (*.domain.com) обязателен DNS-01 challenge через API DNS-провайдера.
История Let's Encrypt
Let's Encrypt основан в 2014 году EFF, Mozilla, Cisco, Akamai, IdenTrust как некоммерческий проект ISRG (Internet Security Research Group). Публичный бета-запуск — ноябрь 2015 года. Первый сертификат выдан helloworld.letsencrypt.org. К 2020 году Let's Encrypt обеспечивал >200 миллионов активных сертификатов. К 2024 году — >300 миллионов. Доля HTTPS-сайтов в интернете выросла с 30% в 2015 году до 85%+ в 2024 году — Let's Encrypt сыграл ключевую роль в этом переходе.