certbot-dns-pddyandex
certbot-dns-pddyandex copied to clipboard
Challenge failed for domain
не работает
В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа.
С этими изменениями у меня сертификат выписался:
diff --git a/authenticator.sh b/authenticator.sh
old mode 100644
new mode 100755
index b95af39..6562eab
--- a/authenticator.sh
+++ b/authenticator.sh
@@ -11,7 +11,7 @@ DOMAIN=$(expr match "$CERTBOT_DOMAIN" '.*\.\(.*\..*\)')
CREATE_DOMAIN="_acme-challenge.$CERTBOT_DOMAIN"
RECORD_ID=$(curl -s -X POST "https://pddimp.yandex.ru/api2/admin/dns/add" \
-H "PddToken: $API_KEY" \
- -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=$CREATE_DOMAIN" \
+ -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=_acme-challenge" \
| python -c "import sys,json;print(json.load(sys.stdin)['record']['record_id'])")
# Save info for cleanup
@@ -22,4 +22,4 @@ fi
echo $RECORD_ID > /tmp/CERTBOT_$CERTBOT_DOMAIN/RECORD_ID
# Sleep to make sure the change has time to propagate over to DNS
-sleep 5
\ No newline at end of file
+sleep 3600
diff --git a/cleanup.sh b/cleanup.sh
old mode 100644
new mode 100755
Основная проблема апи яндекса на данный момент в том, что после добавления записи нужно неопределённое количество времени (примерно два часа, но это не точно), чтобы информация растеклась по их внутренним серверам. А пока она растекается, будет состояние неопределённости https://f.pribora.info/ya/2020-02-01_21-05-53.mp4
В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа.
С этими изменениями у меня сертификат выписался:
diff --git a/authenticator.sh b/authenticator.sh old mode 100644 new mode 100755 index b95af39..6562eab --- a/authenticator.sh +++ b/authenticator.sh @@ -11,7 +11,7 @@ DOMAIN=$(expr match "$CERTBOT_DOMAIN" '.*\.\(.*\..*\)') CREATE_DOMAIN="_acme-challenge.$CERTBOT_DOMAIN" RECORD_ID=$(curl -s -X POST "https://pddimp.yandex.ru/api2/admin/dns/add" \ -H "PddToken: $API_KEY" \ - -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=$CREATE_DOMAIN" \ + -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=_acme-challenge" \ | python -c "import sys,json;print(json.load(sys.stdin)['record']['record_id'])") # Save info for cleanup @@ -22,4 +22,4 @@ fi echo $RECORD_ID > /tmp/CERTBOT_$CERTBOT_DOMAIN/RECORD_ID # Sleep to make sure the change has time to propagate over to DNS -sleep 5 \ No newline at end of file +sleep 3600 diff --git a/cleanup.sh b/cleanup.sh old mode 100644 new mode 100755
Основная проблема апи яндекса на данный момент в том, что после добавления записи нужно неопределённое количество времени (примерно два часа, но это не точно), чтобы информация растеклась по их внутренним серверам. А пока она растекается, будет состояние неопределённости https://f.pribora.info/ya/2020-02-01_21-05-53.mp4
))) В своем скприте сделал тоже 1 час. Интересно, автор как решил, что 5 секунд достаточно для деплоя записей )))
В своем скприте сделал тоже 1 час. Интересно, автор как решил, что 5 секунд достаточно для деплоя записей )))
Пока была Почта для домена, всё работало как часы, и 5 секунд вполне было достаточно. Когда стали переводить ПДД на Коннект, то этот функционал убрали (и даже планов не было его продублировать для коннекта). Потом вернули, но изменения стали вноситься час. Сейчас (по их словам) ошибку исправили, но лучше проверять, насколько быстро вносятся изменения.
На данный момент тоже есть проблема. При ttl 900, полное обновление осуществляется часа за четыре.
@dimmduh А вы попробуйте, в этой строке https://github.com/actionm/certbot-dns-pddyandex/blob/6f35a6159bcf16de57d8b8b58ac0984eddd5f306/authenticator.sh#L11 Убрать ".$CERTBOT_DOMAIN".
Не знаю как у других, но у меня создаётся запись вида: TXT = _acme-challenge.DOMAIN.DOMAIN, яндекс всёравно не позволит в одном домене делать записи для других доменов, поэтому писать нужно то что будет поддоменами для вашего основного домена
В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа. С этими изменениями у меня сертификат выписался:
diff --git a/authenticator.sh b/authenticator.sh old mode 100644 new mode 100755 index b95af39..6562eab --- a/authenticator.sh +++ b/authenticator.sh @@ -11,7 +11,7 @@ DOMAIN=$(expr match "$CERTBOT_DOMAIN" '.*\.\(.*\..*\)') CREATE_DOMAIN="_acme-challenge.$CERTBOT_DOMAIN" RECORD_ID=$(curl -s -X POST "https://pddimp.yandex.ru/api2/admin/dns/add" \ -H "PddToken: $API_KEY" \ - -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=$CREATE_DOMAIN" \ + -d "domain=$CERTBOT_DOMAIN&type=TXT&content=$CERTBOT_VALIDATION&ttl=3600&subdomain=_acme-challenge" \ | python -c "import sys,json;print(json.load(sys.stdin)['record']['record_id'])") # Save info for cleanup @@ -22,4 +22,4 @@ fi echo $RECORD_ID > /tmp/CERTBOT_$CERTBOT_DOMAIN/RECORD_ID # Sleep to make sure the change has time to propagate over to DNS -sleep 5 \ No newline at end of file +sleep 3600 diff --git a/cleanup.sh b/cleanup.sh old mode 100644 new mode 100755
Основная проблема апи яндекса на данный момент в том, что после добавления записи нужно неопределённое количество времени (примерно два часа, но это не точно), чтобы информация растеклась по их внутренним серверам. А пока она растекается, будет состояние неопределённости https://f.pribora.info/ya/2020-02-01_21-05-53.mp4
))) В своем скприте сделал тоже 1 час. Интересно, автор как решил, что 5 секунд достаточно для деплоя записей )))
Это аналогичное изменение, тому, которое я выше закоментировал