certbot-dns-pddyandex
certbot-dns-pddyandex copied to clipboard
WC LE
Здравствуйте, разве эти скрипты работают корректно? authenticator.sh при генерации WC LE для site.com и *.site.com при работе имеет одно значение переменной $CERTBOT_DOMAIN, поэтому второй запуск скрипта затирает значение /tmp/CERTBOT_$CERTBOT_DOMAIN/RECORD_ID от первого запуска. Соответственно cleanup.sh удаляет только последнюю запись из pdd.yandex.ru.
Кроме того, в config.sh есть переменная API_KEY для одного домена, что не позволяет сделать WC LE для 2 или более доменов.
Я использую доработанные скрипты на основе этих скриптов, в config.sh сделал массивы для API_KEY[DOMAIN] (и добавил туда массивы TTL[DOMAIN] и SLEEP[DOMAIN], подобранные опытным путём, для yandex они составляют 90 секунд - это минимум для yandex и 5 секунд соответственно). Так же переименовал скрипты в yandex-auth-hook.sh и yandex-cleanup-hook.sh потому, что ещё примерно таким же способом использую dns от cloudns.net с именами хуков cloudns-auth-hook.sh и cloudns-cleanup-hook.sh.
В исходном варианте, при некорректной работе и оставлении в dns записи _acme-challenge.site.com, судя по нескольким автоперегенерациям сертификатов за 20 дней до их истечения, пропадает запись *.site.com, а site.com остаётся, т.к. сертификат уже становится не WC.
Если интересно доработать этот проект, я могу подготовить pull request с моими правками (WC LE на насколько доменов, в т.ч. и для доменов 3-го уровня).
Скрипты нормаьлно не работают. Было бы замечательно, если бы вы сделали ПР.
Раз говорить о работе скриптов, то на основе этих сделал для DNSmanager, проверил работают :)
Яндекс перешёл на API2, у кого-нибудь есть скрипт который бы корректно отрабатывал бы внесение изменений каждые 3 месяца ?
На api2 он перешёл давно (в рамках pdd.yandex.ru) - в середине 2018 г (пардон, ещё раньше он перешёл на api2. На connect он перешёл летом 2018 г). В connect не появилось api для управления dns (сегодня ещё раз просмотрел).
Если один домен (ну или 2 в одном сертификате), то можно самостоятельно записать 2-4 записи dns _acme-challenge... и подождать минуту или сколько там даёт провайдер (может и до 15 минут, может и больше) до верификации - я на паре доменов так и делаю.
Если доменов больше, то лучше перейти на другой dns-хостинг (у нас cloudns.net). Недостатки - я долго подбирал SLEEP_TIME, и дошёл до значения 73 секунды на одну запись на cloudns.net. Очень долго, конечно, но если один раз получилось, значит можно автоматизировать и сертификаты будут ночью (или днём перегенерироваться в фоне). Бывает не с первого раза в фоне. Но за год особых проблем не было. А начинал с 30 секунд - и почти всегда провал - LE не находил dns-записи, т.к. они не распространились по серверам cloudns.net.
У yandex, когда до середины 2018 было pdd, SLEEP_TIME был 5 секунд и всё замечательно работало. Жаль, что убрали и за год не доделали аналог.
myallod, спасибо за ответ! Решил попробовать повозиться со скриптом acme.sh, вот только до самого скрипта так ещё пока и не дошёл :-) 1cloud имеет возможность работать с API, сделал учётную запись там, перенёс туда домен один для проверки, curl-ом запрос получается послать GET, а вот тайну PUT пока не удаётся разгадать... В целом если получится сделать то будет хорошо, правда потом тёмный лес написания скрипта будет....