Получение SSL сертификата через Certbot dns chellenge cloudflare
Создать новый домен третьего уровня для панели в cloudflare.
Создать API token по инструкции: Create API token · Cloudflare Fundamentals docs
У токена должны быть права на изменение DNS зоны.
Bug
В последних версиях стандартная установка не содержит плагина на работу с dns (возможно и не содержала ранее) для работы с cloudflare необходимо отдельно устанавливать плагин по инструкции Установка Certbot с плагином cloudflare dns
Установить certbot
apt install certbot
Создать файл cloudflare.ini
с содержимым токена
dns_cloudflare_api_token = "<Api token>"
Выполнить команду получения сертификата:
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /root/cloudflare.ini \
-d <домен>.ru
Если надо переносить сертификаты в другую папку после получения надо добавить еще одну команду:
--deploy-hook "cp /etc/letsencrypt/live/<домен>.ru/fullchain.pem /<целевой путь>/fullchain.pem && cp /etc/letsencrypt/live/<домен>.ru/privkey.pem /<целевой путь>/privkey.pem"
Для запуска процесса автоматического обновления:
certbot renew --dry-run