Запуск Certbot в Docker

Согласно документации https://certbot.eff.org/docs/install.html#running-with-docker, использовние Docker не рекомендуется. В этом режиме installer plugins из контейнера не могут устанавливать и конфигурировать веб сервер. Т.е иногда могут возникнуть сложности с использованием пре и пост хуков например.

Получение сертификата и выбор плагинов

Certbot поддерживает два типа плагинов для установки и получения сертификатов: authenticators and installers (https://certbot.eff.org/docs/using.html#getting-certificates-and-choosing-plugins).

Authenticators - это плагины используемые с certonly командой для получения сертификата. Эти плагины выполняют проверку того что вы являетесь владельцем домена для которого запрашиваете сертификат. Они не устанвливают сертификат (не выполняют какой-либо модификации в конфигурации веб сервера)!

Installers - это плагины используемые с командой install, т.е они могут модифицировать конфигурацию веб сервера. В офф документации certbot приведена таблица с плагинами и их функциями.

Использование Certbot с DNS плагином

Можно использовать для прохождения валидации через создание/удаление DNS записей для домена - https://certbot.eff.org/docs/using.html#dns-plugins.

Воспользуюсь certbot-dns-route53 плагином. Документация - https://certbot-dns-route53.readthedocs.io/en/stable/.

Запрошу сертификат для fibed.net сайта.

sudo docker run -it --rm --name certbot \
            -v "/etc/letsencrypt:/etc/letsencrypt" \
            -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
            -v "/var/log/letsencrypt:/var/log/letsencrypt" \
            -e AWS_ACCESS_KEY_ID="****" \
            -e AWS_SECRET_ACCESS_KEY="****" \
            certbot/dns-route53 certonly --dns-route53 --dry-run -d fibed.net -d www.fibed.net --email fibed@fibed.net --agree-tos --noninteractive

Обновить сертификат можно такой командой

sudo docker run -it --rm --name certbot \
             -v "/etc/letsencrypt:/etc/letsencrypt" \
             -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
             -v "/var/log/letsencrypt:/var/log/letsencrypt" \
             -e AWS_ACCESS_KEY_ID="****" \
             -e AWS_SECRET_ACCESS_KEY="****" \
             certbot/dns-route53 renew --dns-route53

Эта команда, согласно документации - https://certbot.eff.org/docs/using.html#renewing-certificates, попытается обновить ранее полученные сертификаты истекающие менее чем через 30 дней.

Использование Certbot с standalone плагином

z

Использование pre и post hooks

https://community.letsencrypt.org/t/pre-hook-script-not-found-in-path/125706

 

 

 

 

Комментарии

Еще нет комментариев.

Чтобы оставить комментарий, необходимо Войти или Зарегистрироваться.