Небольшая заметка про wildcard сертификаты Let’s Encrypt

habr.png

Все уже, наверное, в курсе про такую организацию как Let«s Encrypt. С некоторых пор там можно получить и wildcard сертификат. В этой короткой заметке я опишу пару не очень очевидных моментов, с которыми столкнулся.
1. Wildcard сертификат можно получить только через DNS plugins:

Doing domain validation in this way is the only way to obtain wildcard certificates from Let«s Encrypt.

Т.е. наши варианты — это либо один из DNS plugins, либо manual + preferred-challenges=dns-01.

Подробнее здесь.
Использование DNS plugins подробно описано в документации по ссылке выше.

При использовании режима manual, нужно будет вручную добавить TXT запись в DNS. Эта запись каждый раз будет разная, т.е. автоматическое продление сертификата в этом случае возможно только через хуки certbot. Там же, кстати, можно повесить и команду, например, на рестарт nginx.

2. Нужно использовать сервер с API v. 2:

https://acme-v02.api.letsencrypt.org/directory


Вероятно в будущих версиях certbot произойдет переход на использование API v. 2 по умолчанию, но пока вот так.

Я использую docker для запуска certbot. Весьма удобно. Таким образом, команда для получения сертификата получается вот такая:

docker run -it --rm \
-v /docker/volumes/etc/letsencrypt:/etc/letsencrypt \
-v /docker/volumes/var/lib/letsencrypt:/var/lib/letsencrypt \
-v /docker/volumes/var/log/letsencrypt:/var/log/letsencrypt \
certbot/certbot \
certonly --manual \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory \
--register-unsafely-without-email --agree-tos \
--manual-public-ip-logging-ok \
-d example.com -d *.example.com


Результаты работы certbot будут доступны в /docker/volumes/, откуда их можно подключать в другие контейнеры.

Обратите внимание на ключ «manual-public-ip-logging-ok» — если его не указать, то появляется вот такой вопрос при запуске:

NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you’re running certbot in manual mode on a machine that is not
your server, please ensure you’re okay with that.

Are you OK with your IP being logged?

Как я понял, пока адреса нигде не доступны (но логируются), их публикация есть в ближайших планах. На мой личный взгляд, немного странная политика.

© Habrahabr.ru