Решил настроить получение сертов для wildcard доменов (типа *.jem-art.ru), чтобы все проекты, которые деплоятся через dokku были доступны через https.
В Dokku это делается установкой плагина и выполнением пары команд. Но dokku вертится в докере и при получени сертов вылетает ошибка (
dokku docker: open /var/lib/dokku/home/dokku/web-test/letsencrypt/certs/7d5073745feeebbd5fd9b94aed59c12414ecfc41/docker.env: no such file or directory, хотя файл есть), а т.к. в докере я шарю постольку-поскольку, обойти ее я не смог (даже с чатгпт и гуглом).Поэтому я решил пойти по старинке через certbot, но с указанием конкретных поддоменов, а не *.
Как известно, чтобы получить серты важно, чтобы ваше приложение могло отдавать файл, который certbot положит в webroot директорию (которую вы указываете в команде для получения сертификатов). Отдавать надо по урлу
/.well-known/acme-challenge.Тут я немного призадумался, что для каждого приложения нужно реализовывать возможность раздачи такого файла и тп. Потом понял, что по факту certbot не важно чтобы именно это приложение отдавало этот файл, а просто любое, пусть хоть сам nginx. Поэтому повесил конфиг редиректа c поддоменов на 80 порту на root /var/www/html;
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/html;
}и готово!)
