certbot-dns-pddyandex icon indicating copy to clipboard operation
certbot-dns-pddyandex copied to clipboard

Challenge failed for domain

Open dimmduh opened this issue 5 years ago • 6 comments

не работает

dimmduh avatar May 19 '19 15:05 dimmduh

В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа.

С этими изменениями у меня сертификат выписался:

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

anton-pribora avatar Feb 01 '20 07:02 anton-pribora

В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа.

С этими изменениями у меня сертификат выписался:

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 секунд достаточно для деплоя записей )))

rnks avatar May 31 '20 13:05 rnks

В своем скприте сделал тоже 1 час. Интересно, автор как решил, что 5 секунд достаточно для деплоя записей )))

Пока была Почта для домена, всё работало как часы, и 5 секунд вполне было достаточно. Когда стали переводить ПДД на Коннект, то этот функционал убрали (и даже планов не было его продублировать для коннекта). Потом вернули, но изменения стали вноситься час. Сейчас (по их словам) ошибку исправили, но лучше проверять, насколько быстро вносятся изменения.

anton-pribora avatar May 31 '20 13:05 anton-pribora

На данный момент тоже есть проблема. При ttl 900, полное обновление осуществляется часа за четыре.

Delimer avatar Oct 25 '21 12:10 Delimer

@dimmduh А вы попробуйте, в этой строке https://github.com/actionm/certbot-dns-pddyandex/blob/6f35a6159bcf16de57d8b8b58ac0984eddd5f306/authenticator.sh#L11 Убрать ".$CERTBOT_DOMAIN".

Не знаю как у других, но у меня создаётся запись вида: TXT = _acme-challenge.DOMAIN.DOMAIN, яндекс всёравно не позволит в одном домене делать записи для других доменов, поэтому писать нужно то что будет поддоменами для вашего основного домена

none0nfg avatar Mar 05 '22 08:03 none0nfg

В скрипте поддомен задаётся неправильно, т.к. он не должен включать основной домен, плюс время ожидания слишком маленькое. Я так и не понял, как работают днс яндекса, иногда изменения происходят в течение часа. С этими изменениями у меня сертификат выписался:

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 секунд достаточно для деплоя записей )))

Это аналогичное изменение, тому, которое я выше закоментировал

none0nfg avatar Mar 05 '22 08:03 none0nfg