Skip to content

Как получить wildcard Let's Encrypt сертификат

Коротко:

Wildcard cert (*.example.com) покрывает все subdomain одним сертификатом. Let's Encrypt выдаёт wildcard только через DNS-01 challenge (HTTP-01 не работает). Нужен API-доступ к DNS-провайдеру для автоматического добавления TXT-записи _acme-challenge. Поддерживается certbot plugins: Cloudflare, Route53, DigitalOcean, десятки других.

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Пошаговая настройка

  1. Выберите DNS-провайдера с certbot-plugin (Cloudflare, Route53, Gandi, DigitalOcean)
  2. Установите plugin: apt install python3-certbot-dns-cloudflare
  3. Создайте credentials file с API token (chmod 600)
  4. Запустите: certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.cloudflare.ini -d "*.example.com" -d example.com
  5. Cert сохраняется в /etc/letsencrypt/live/example.com/ — fullchain.pem + privkey.pem
  6. Включите auto-renew: systemctl enable --now certbot.timer
  7. Verify: Enterno SSL checker для любого subdomain

Рабочие примеры

СценарийКонфиг
Cloudflare credentialsdns_cloudflare_api_token = YOUR_TOKEN_HERE
Route53 (AWS)certbot --dns-route53 -d "*.example.com" -d example.com
Manual DNS-01 (любой DNS)certbot certonly --manual --preferred-challenges dns -d "*.example.com"
Force renewcertbot renew --force-renewal --cert-name example.com
deploy-hook для nginx reloadcertbot renew --deploy-hook "systemctl reload nginx"

Типичные ошибки

  • HTTP-01 challenge не работает для wildcard — только DNS-01
  • Wildcard не покрывает apex домен (*.example.com ≠ example.com). Добавляйте оба через -d
  • API token с минимальными permissions (только DNS:Edit zone, не Account:Read)
  • Rate limit Let's Encrypt: 5 duplicate certs per week. Force renewal считается как new
  • Manual DNS-01 не supports auto-renewal — настраивайте plugin или переходите на provider с API
СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

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

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

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

Зачем wildcard если можно выпустить cert для каждого subdomain?

Wildcard удобнее при динамических subdomain (создаются автоматически). Для фиксированного набора — проще выпустить отдельные certs (лучше для revocation granularity).

Можно ли multi-level wildcard (*.*.example.com)?

Нет, Let's Encrypt поддерживает только single-level (*.example.com). Для more глубоких — нужен separate cert.

Wildcard cert безопасен?

Если private key не скомпрометирован — да. Но при compromise атакующий получает доступ ко всем subdomain сразу. Ротация раз в 90 дней (автоматически) снижает risk.

Можно ли wildcard + SAN для apex?

Да: <code>-d "*.example.com" -d example.com</code> создаёт cert с SAN = [*.example.com, example.com]. Обычная практика.