bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Letsencrypt сertbot docker получение с сертификата wildcard?

Здравствуйте. Подскажите пожалуйста. У меня есть зарегистрированный домен, вот этот скрипт который запускает в докере cerbot и получает сертификат, все работает так как надо.

sudo docker run \
  --rm \
  --name certbot \
  --volume "$(pwd)/certbot/conf:/etc/letsencrypt" \
  --volume "$(pwd)/certbot/www:/var/www/certbot" \
  certbot/certbot certonly \
  --non-interactive \
  --webroot \
  --agree-tos \
  --manual-public-ip-logging-ok \
  --domains domain.name \
  --email example@example.com \
  --webroot-path /var/www/certbot


Теперь нужно получить сертефикатат и на поддомены, например my.domain.name

Погуглил решение, но не работает

sudo docker run \
  --rm \
  --name certbot \
  --volume "$(pwd)/certbot/conf:/etc/letsencrypt" \
  --volume "$(pwd)/certbot/www:/var/www/certbot" \
  --volume "$(pwd)/:/var/log/letsencrypt" \
  certbot/certbot certonly \
  --non-interactive \
  --webroot \
  --agree-tos \
  --manual-public-ip-logging-ok \
  --domains "*.domain.name" \
  --domains domain.name \
  --email example@example.com \
  --webroot-path /var/www/certbot \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --preferred-challenges dns


В консоли выдает такое сообщение:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
None of the preferred challenges are supported by the selected plugin
IMPORTANT NOTES:
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.


Никаких ключей нет. Подскажите как получить, спасибо.
  • Вопрос задан
  • 1414 просмотров
Решения вопроса 1
Inlore
@Inlore
Богдан, чтобы не заниматься ручным обновлением сертификата, прописывая TXT записи в DNS, нужно использовать поддерживаемый DNS, типа cloudflare или cloudns. Общий смысл в том, что certbot (или какой-нибудь acme.sh) будет обращаться по API к DNS, используя некий логин и пароль или токен, чтобы создавать необходимые TXT-записи, они будут проверяться на стороне letsencrypt, после чего будет выпускаться wildcard-сертификат. В таком случае wildcard-сертификаты будут нормально обновляться автоматически.
Вот тут, например, можно найти список поддерживаемых DNS-провайдеров

В этом случае команда для выпуска сертификата через certbot будет выглядеть примерно так (на примере cloudflare):
certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  --dns-cloudflare-propagation-seconds 10 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --preferred-challenges dns-01 \
  --noninteractive \
  --agree-tos \
  --email <your_email@address> \
  -d <your-domain.name> \
  -d <*.your-domain.name>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Нельзя получить wildcard сертификат через webroot плагин. Используйте один из dns плагинов или manual.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы