Получение 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