acmesh-official / acme.sh

A pure Unix shell script implementing ACME client protocol
https://acme.sh
GNU General Public License v3.0
38.76k stars 4.92k forks source link

Report bugs to reg.ru dns api #2336

Open deflorator1980 opened 5 years ago

deflorator1980 commented 5 years ago

This is the place to report bugs in the reg.ru DNS API.

If you experience a bug, please report it in this issue.

Thanks!

Revertron commented 5 years ago

Where do we get a key to use with reg.ru dns API?

deflorator1980 commented 4 years ago

Where do we get a key to use with reg.ru dns API?

Keys are your username and password in reg.ru

mihakot commented 4 years ago

Problem with certificate renewal.

when renewing a wildcard domain creates two TXT records sometimes records in dns are not created at all. sometimes they are created, but after the first one is validated, either both records are deleted, or cannot find the second record

@deflorator1980 Я так понимаю русскоязычный. Если надо могу дебаг сскинуть.

deflorator1980 commented 4 years ago

Это бывает такое -- не с первого раза записи создаются, но потом в конце концов создаются. У Acmesh и с другими провайдерами такое тоже происходит, не только с Регру -- т.е. тут "проблема в консерватории", как говорится :)

Revertron commented 4 years ago

Это бывает такое -- не с первого раза записи создаются, но потом в конце концов создаются. У Acmesh и с другими провайдерами такое тоже происходит, не только с Регру -- т.е. тут "проблема в консерватории", как говорится :)

Только вот с ДНС-серверами от Cloudflare такого не бывает. А у меня там 12 доменов.

mihakot commented 4 years ago

Это бывает такое -- не с первого раза записи создаются, но потом в конце концов создаются. У Acmesh и с другими провайдерами такое тоже происходит, не только с Регру -- т.е. тут "проблема в консерватории", как говорится :)

Только вот с ДНС-серверами от Cloudflare такого не бывает. А у меня там 12 доменов.

Ну не знаю. я специально проверял

запись в днс создана, но Cloudflare ее не видит.

причем самое инетересное что для * создается две записи, и после проверки первой, вторая уже почему то не доступна. вследсвтии чего домен не валидируется полуностью.

OSPFS commented 4 years ago

Can't create TXT record for 3, 4 level domain. When try to get cert for host.lvl3.domname.ru, TXT record is created for domname.ru as _acme-challenge.domname.ru but not _acme-challenge.host.lvl3.domname.ru

Shark-kun-zz commented 3 years ago

я конечно все понимаю, но объясните танкисту как продлить сертификаты: export REGRU_API_Username='test' export REGRU_API_Password='test' -- логин и пароль заполнены, пароль выставлен в личном кабинете для API root@local:/etc/apt# acme.sh --issue --dns dns_regru -d 'watashiwa.ru' -d '.watashiwa.ru' --debug [Mon Oct 5 21:23:00 MSK 2020] Lets find script dir. [Mon Oct 5 21:23:00 MSK 2020] SCRIPT='/root/.acme.sh/acme.sh' [Mon Oct 5 21:23:00 MSK 2020] _script='/root/.acme.sh/acme.sh' [Mon Oct 5 21:23:00 MSK 2020] _script_home='/root/.acme.sh' [Mon Oct 5 21:23:00 MSK 2020] Using config home:/root/.acme.sh https://github.com/acmesh-official/acme.sh v2.8.8 [Mon Oct 5 21:23:00 MSK 2020] Running cmd: issue [Mon Oct 5 21:23:00 MSK 2020] _main_domain='watashiwa.ru' [Mon Oct 5 21:23:00 MSK 2020] _alt_domains='.watashiwa.ru' [Mon Oct 5 21:23:00 MSK 2020] Using config home:/root/.acme.sh [Mon Oct 5 21:23:00 MSK 2020] default_acme_server [Mon Oct 5 21:23:00 MSK 2020] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory' [Mon Oct 5 21:23:00 MSK 2020] DOMAIN_PATH='/root/.acme.sh/watashiwa.ru' [Mon Oct 5 21:23:00 MSK 2020] Using ACME_DIRECTORY: https://acme-v02.api.letsencrypt.org/directory [Mon Oct 5 21:23:00 MSK 2020] _init api for server: https://acme-v02.api.letsencrypt.org/directory [Mon Oct 5 21:23:00 MSK 2020] GET [Mon Oct 5 21:23:00 MSK 2020] url='https://acme-v02.api.letsencrypt.org/directory' [Mon Oct 5 21:23:00 MSK 2020] timeout= [Mon Oct 5 21:23:00 MSK 2020] _CURL='curl -L --silent --dump-header /root/.acme.sh/http.header -g ' [Mon Oct 5 21:23:01 MSK 2020] ret='0' [Mon Oct 5 21:23:02 MSK 2020] ACME_KEY_CHANGE='https://acme-v02.api.letsencrypt.org/acme/key-change' [Mon Oct 5 21:23:02 MSK 2020] ACME_NEW_AUTHZ [Mon Oct 5 21:23:02 MSK 2020] ACME_NEW_ORDER='https://acme-v02.api.letsencrypt.org/acme/new-order' [Mon Oct 5 21:23:02 MSK 2020] ACME_NEW_ACCOUNT='https://acme-v02.api.letsencrypt.org/acme/new-acct' [Mon Oct 5 21:23:02 MSK 2020] ACME_REVOKE_CERT='https://acme-v02.api.letsencrypt.org/acme/revoke-cert' [Mon Oct 5 21:23:02 MSK 2020] ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf' [Mon Oct 5 21:23:02 MSK 2020] ACME_NEW_NONCE='https://acme-v02.api.letsencrypt.org/acme/new-nonce' [Mon Oct 5 21:23:02 MSK 2020] ACME_VERSION='2' [Mon Oct 5 21:23:02 MSK 2020] Le_NextRenewTime='1598259104' [Mon Oct 5 21:23:24 MSK 2020] Using CA: https://acme-v02.api.letsencrypt.org/directory [Mon Oct 5 21:23:24 MSK 2020] _on_before_issue [Mon Oct 5 21:23:24 MSK 2020] _chk_main_domain='watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] _chk_alt_domains='.watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] Le_LocalAddress [Mon Oct 5 21:23:24 MSK 2020] d='watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] Check for domain='watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] _currentRoot='dns_regru' [Mon Oct 5 21:23:24 MSK 2020] d='.watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] Check for domain='.watashiwa.ru' [Mon Oct 5 21:23:24 MSK 2020] _currentRoot='dns_regru' [Mon Oct 5 21:23:24 MSK 2020] d [Mon Oct 5 21:23:24 MSK 2020] _saved_account_key_hash is not changed, skip register account. [Mon Oct 5 21:23:24 MSK 2020] Read key length: [Mon Oct 5 21:23:24 MSK 2020] _createcsr [Mon Oct 5 21:23:24 MSK 2020] Multi domain='DNS:watashiwa.ru,DNS:.watashiwa.ru' [Mon Oct 5 21:23:26 MSK 2020] Getting domain auth token for each domain [Mon Oct 5 21:23:26 MSK 2020] d='.watashiwa.ru' [Mon Oct 5 21:23:26 MSK 2020] d [Mon Oct 5 21:23:26 MSK 2020] url='https://acme-v02.api.letsencrypt.org/acme/new-order' [Mon Oct 5 21:23:26 MSK 2020] payload='{"identifiers": [{"type":"dns","value":"watashiwa.ru"},{"type":"dns","value":".watashiwa.ru"}]}' [Mon Oct 5 21:23:26 MSK 2020] RSA key [Mon Oct 5 21:23:27 MSK 2020] HEAD [Mon Oct 5 21:23:27 MSK 2020] _post_url='https://acme-v02.api.letsencrypt.org/acme/new-nonce' [Mon Oct 5 21:23:27 MSK 2020] _CURL='curl -L --silent --dump-header /root/.acme.sh/http.header -g -I ' [Mon Oct 5 21:23:27 MSK 2020] _ret='0' [Mon Oct 5 21:23:28 MSK 2020] POST [Mon Oct 5 21:23:28 MSK 2020] _post_url='https://acme-v02.api.letsencrypt.org/acme/new-order' [Mon Oct 5 21:23:28 MSK 2020] _CURL='curl -L --silent --dump-header /root/.acme.sh/http.header -g ' [Mon Oct 5 21:23:29 MSK 2020] _ret='0' [Mon Oct 5 21:23:29 MSK 2020] code='429' [Mon Oct 5 21:23:29 MSK 2020] Le_LinkOrder [Mon Oct 5 21:23:30 MSK 2020] Le_OrderFinalize [Mon Oct 5 21:23:30 MSK 2020] Create new order error. Le_OrderFinalize not found. { "type": "urn:ietf:params:acme:error:rateLimited", "detail": "Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/", "status": 429 } [Mon Oct 5 21:23:30 MSK 2020] pid [Mon Oct 5 21:23:30 MSK 2020] No need to restore nginx, skip. [Mon Oct 5 21:23:30 MSK 2020] _clearupdns [Mon Oct 5 21:23:30 MSK 2020] dns_entries [Mon Oct 5 21:23:30 MSK 2020] skip dns. [Mon Oct 5 21:23:30 MSK 2020] _on_issue_err [Mon Oct 5 21:23:30 MSK 2020] Please add '--debug' or '--log' to check more details. [Mon Oct 5 21:23:30 MSK 2020] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh [Mon Oct 5 21:23:32 MSK 2020] Diagnosis versions: openssl:openssl OpenSSL 1.1.1g 21 Apr 2020 apache: apache doesn't exist. nginx: nginx version: nginx/1.18.0 built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) built with OpenSSL 1.1.0l 10 Sep 2019 (running with OpenSSL 1.1.1g 21 Apr 2020) TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.18.0/debian/debuild-base/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie' socat: socat by Gerhard Rieger - see www.dest-unreach.org socat version 1.7.3.1 on Jul 14 2017 13:52:03 running on Linux version #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04), release 4.9.0-5-amd64, machine x86_64 features:

define WITH_STDIO 1

define WITH_FDNUM 1

define WITH_FILE 1

define WITH_CREAT 1

define WITH_GOPEN 1

define WITH_TERMIOS 1

define WITH_PIPE 1

define WITH_UNIX 1

define WITH_ABSTRACT_UNIXSOCKET 1

define WITH_IP4 1

define WITH_IP6 1

define WITH_RAWIP 1

define WITH_GENERICSOCKET 1

define WITH_INTERFACE 1

define WITH_TCP 1

define WITH_UDP 1

define WITH_SCTP 1

define WITH_LISTEN 1

define WITH_SOCKS4 1

define WITH_SOCKS4A 1

define WITH_PROXY 1

define WITH_SYSTEM 1

define WITH_EXEC 1

undef WITH_READLINE

define WITH_TUN 1

define WITH_PTY 1

define WITH_OPENSSL 1

undef WITH_FIPS

define WITH_LIBWRAP 1

define WITH_SYCLS 1

define WITH_FILAN 1

define WITH_RETRY 1

define WITH_MSGLEVEL 0 /debug/

mihakot commented 3 years ago

я конечно все понимаю, но объясните танкисту как продлить сертификаты: { "type": "urn:ietf:params:acme:error:rateLimited", "detail": "Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/", "status": 429 }

у тебя сработало ограничение на количестов ошибок.

Shark-kun-zz commented 3 years ago

а что там с логинам, из разных мест пишут что логин нужно у тех. поддержки regru запрашивать, так хотелось бы прояснить там логин от аккаунта или какой-то специальный для REGRU_API_Username

mihakot commented 3 years ago

естественно логин пароль должен быть твой. из твоего аккаунта на регру. в личном кабинете можно сделать отдельный доступ для апи

mihakot commented 3 years ago

https://www.reg.ru/support/help/api2#recommendations п.2.2.4.1. Параметры для аутентификации

Shark-kun-zz commented 3 years ago

пообщался еще с тех. поддержкой reg.ru так как была еще ошибка: Я: response='{ "charset" : "utf-8", "error_code" : "ACCESS_DENIED_FROM_IP", "error_params" : { "command_name" : "service/get_list" }, "error_text" : "Access to API from this IP denied", "messagestore" : null, "result" : "error" }' нужно в настройках API добавлять IP адреса сервиса?! REGRU: Да, конечно, сначала необходимо добавить IP-адреса с который вы будете производить вход в API на странице: https://www.reg.ru/user/account/#/settings/api/ Я: acme-v02.api.letsencrypt.org - 172.65.32.248 для получения SSL и api.reg.ru - 194.58.116.30 для тхт записи _acme-challenge

и прояснил по поводу логина

Я: где настроить пароль нашёл, а с логином не понятно! REGRU: Используйте, логин вашего аккаунта. Я: Логин использовать с @, или достаточно до него? REGRU: Необходимо указывать логин полностью - user@example.com

полная переписка с REGRU: 2020-10-05_233320

mihakot commented 3 years ago

Тебе нужно указывать ИП не серверов летс. А ип твоего сервера с которого выполняется запрос.

mihakot commented 3 years ago

Эту инфу бесмысленно передавать. Так как у каждого провайдера свои настройки. И в каждом случае надо просто читать доку как пользоваться данным сервисом. Почему то у меня не возникло таких вопросов.

simonows commented 3 years ago

When trying to issue a wildcard certificate, the script writes: "The next record is added: Success". Before that, the script makes a request to add a txt record to the domain "*.example.org". API Reg.ru just does not understand "*." and returns: При попытке выпуска wildcard сертификата скрипт пишет: "The txt record is added: Success". Перед этим скрипт делает запрос на добавление txt записи к домену "*.example.org". API Reg.ru как раз не понимает эту звездочку "*." и возвращает:

{
   "answer" : {
      "domains" : [
         {
            "dname" : "*.example.org",
            "error_code" : "INVALID_DOMAIN_NAME_FORMAT",
            "error_params" : {
               "domain_name" : "*.example.org"
            },
            "error_text" : "*.example.org is invalid or unsupported zone",
            "result" : "error"
         }
      ]
   },
   "charset" : "utf-8",
   "messagestore" : null,
   "result" : "success"
}

Acme.sh perceives this as a successful operation and starts checking the records with an interval of 10 seconds. Accordingly nothing will work. You do not need to insert an "*." in the api. I found a solution for myself: add to the script dnsapi/dns_regru.sh next: Acme.sh воспринимает это как успешную операцию и начинает проверять записи с интервалом в 10 с. Соответственно, ничего не выйдет. Нужно в api не всавлять звездочку. Я для себя нашел решение: добавить в скрипт dnsapi/dns_regru.sh следующее:

if [ "$(echo $_domain | cut -c -2)" == "*." ]; then
  _domain=$(echo $_domain | cut -c 3-)
fi

After that, it works. После этого все работает.

deni5n commented 2 years ago

Прошу помощи, т.к. не понимаю куда копать. Пытаюсь выпустить сертификат, но на полпути возникает цикл из 30 попыток, который завершается по таймауту. см ниже:


[Mon Jun 20 16:09:49 +05 2022] The txt record is added: Success.
[Mon Jun 20 16:09:49 +05 2022] Let's check each DNS record now. Sleep 20 seconds first.
[Mon Jun 20 16:10:10 +05 2022] You can use '--dnssleep' to disable public dns checks.
[Mon Jun 20 16:10:10 +05 2022] See: https://github.com/acmesh-official/acme.sh/wiki/dnscheck
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] aliasDomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txt='L8jcsPxOplSAIFpMsqiGfKvwJgeO8clv0cwOnJRuWsE'
[Mon Jun 20 16:10:10 +05 2022] d_api='/home/ubuntu/acme.sh/dnsapi/dns_regru.sh'
[Mon Jun 20 16:10:10 +05 2022] Checking domcats.org for _acme-challenge.domcats.org
[Mon Jun 20 16:10:10 +05 2022] _c_txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_aliasdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_txt='L8jcsPxOplSAIFpMsqiGfKvwJgeO8clv0cwOnJRuWsE'
[Mon Jun 20 16:10:10 +05 2022] Detect dns server first.
[Mon Jun 20 16:10:10 +05 2022] Use cloudflare doh server
[Mon Jun 20 16:10:10 +05 2022] GET
[Mon Jun 20 16:10:10 +05 2022] url='https://cloudflare-dns.com/dns-query?name=_acme-challenge.domcats.org&type=TXT'
[Mon Jun 20 16:10:10 +05 2022] timeout=
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:10 +05 2022] ret='0'
[Mon Jun 20 16:10:10 +05 2022] Domain domcats.org '_acme-challenge.domcats.org' success.
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] aliasDomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txt='mh1yNsHy74fOji5PddLHKzySbGG7aShjL3H3iYXMk6k'
[Mon Jun 20 16:10:10 +05 2022] d_api='/home/ubuntu/acme.sh/dnsapi/dns_regru.sh'
[Mon Jun 20 16:10:10 +05 2022] Checking domcats.org for _acme-challenge.domcats.org
[Mon Jun 20 16:10:10 +05 2022] _c_txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_aliasdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_txt='mh1yNsHy74fOji5PddLHKzySbGG7aShjL3H3iYXMk6k'
[Mon Jun 20 16:10:10 +05 2022] Detect dns server first.
[Mon Jun 20 16:10:10 +05 2022] Use cloudflare doh server
[Mon Jun 20 16:10:10 +05 2022] GET
[Mon Jun 20 16:10:10 +05 2022] url='https://cloudflare-dns.com/dns-query?name=_acme-challenge.domcats.org&type=TXT'
[Mon Jun 20 16:10:10 +05 2022] timeout=
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:10 +05 2022] ret='0'
[Mon Jun 20 16:10:10 +05 2022] Domain domcats.org '_acme-challenge.domcats.org' success.
[Mon Jun 20 16:10:10 +05 2022] All success, let's return
[Mon Jun 20 16:10:10 +05 2022] ok, let's start to verify
[Mon Jun 20 16:10:10 +05 2022] Verifying: domcats.org
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] keyauthorization='SDNZGdhNSOuxM13K89MjMDErGOIoaL3aO8lN2IWVbJ4.RnxxO1YCEPxVyqJAuS2k1sOL_kwC72NalTQEd38eCiQ'
[Mon Jun 20 16:10:10 +05 2022] uri='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] _currentRoot='dns_regru'
[Mon Jun 20 16:10:10 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] payload='{}'
[Mon Jun 20 16:10:10 +05 2022] POST
[Mon Jun 20 16:10:10 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:18 +05 2022] _ret='0'
[Mon Jun 20 16:10:18 +05 2022] code='200'
[Mon Jun 20 16:10:18 +05 2022] trigger validation code: 200
[Mon Jun 20 16:10:18 +05 2022] Processing, The CA is processing your order, please just wait. (1/30)
[Mon Jun 20 16:10:18 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:10:21 +05 2022] checking
[Mon Jun 20 16:10:21 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:21 +05 2022] payload
[Mon Jun 20 16:10:21 +05 2022] POST
[Mon Jun 20 16:10:21 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:21 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:28 +05 2022] _ret='0'
[Mon Jun 20 16:10:28 +05 2022] code='200'
[Mon Jun 20 16:10:28 +05 2022] Processing, The CA is processing your order, please just wait. (2/30)
[Mon Jun 20 16:10:28 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:10:31 +05 2022] checking
[Mon Jun 20 16:10:31 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:31 +05 2022] payload
[Mon Jun 20 16:10:31 +05 2022] POST
[Mon Jun 20 16:10:31 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:31 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:38 +05 2022] _ret='0'
[Mon Jun 20 16:10:38 +05 2022] code='200'

...

[Mon Jun 20 16:14:12 +05 2022] Processing, The CA is processing your order, please just wait. (29/30)
[Mon Jun 20 16:14:12 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:14:15 +05 2022] checking
[Mon Jun 20 16:14:15 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:14:15 +05 2022] payload
[Mon Jun 20 16:14:15 +05 2022] POST
[Mon Jun 20 16:14:15 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:14:15 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:14:21 +05 2022] _ret='0'
[Mon Jun 20 16:14:21 +05 2022] code='200'
[Mon Jun 20 16:14:21 +05 2022] domcats.org:Timeout

может кто подсказать - в чем проблема, тк я совершенннно не понимаю в чем ошибка (((

mihakot commented 2 years ago

Прошу помощи, т.к. не понимаю куда копать. Пытаюсь выпустить сертификат, но на полпути возникает цикл из 30 попыток, который завершается по таймауту. см ниже:


[Mon Jun 20 16:09:49 +05 2022] The txt record is added: Success.
[Mon Jun 20 16:09:49 +05 2022] Let's check each DNS record now. Sleep 20 seconds first.
[Mon Jun 20 16:10:10 +05 2022] You can use '--dnssleep' to disable public dns checks.
[Mon Jun 20 16:10:10 +05 2022] See: https://github.com/acmesh-official/acme.sh/wiki/dnscheck
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] aliasDomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txt='L8jcsPxOplSAIFpMsqiGfKvwJgeO8clv0cwOnJRuWsE'
[Mon Jun 20 16:10:10 +05 2022] d_api='/home/ubuntu/acme.sh/dnsapi/dns_regru.sh'
[Mon Jun 20 16:10:10 +05 2022] Checking domcats.org for _acme-challenge.domcats.org
[Mon Jun 20 16:10:10 +05 2022] _c_txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_aliasdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_txt='L8jcsPxOplSAIFpMsqiGfKvwJgeO8clv0cwOnJRuWsE'
[Mon Jun 20 16:10:10 +05 2022] Detect dns server first.
[Mon Jun 20 16:10:10 +05 2022] Use cloudflare doh server
[Mon Jun 20 16:10:10 +05 2022] GET
[Mon Jun 20 16:10:10 +05 2022] url='https://cloudflare-dns.com/dns-query?name=_acme-challenge.domcats.org&type=TXT'
[Mon Jun 20 16:10:10 +05 2022] timeout=
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:10 +05 2022] ret='0'
[Mon Jun 20 16:10:10 +05 2022] Domain domcats.org '_acme-challenge.domcats.org' success.
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] aliasDomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] txt='mh1yNsHy74fOji5PddLHKzySbGG7aShjL3H3iYXMk6k'
[Mon Jun 20 16:10:10 +05 2022] d_api='/home/ubuntu/acme.sh/dnsapi/dns_regru.sh'
[Mon Jun 20 16:10:10 +05 2022] Checking domcats.org for _acme-challenge.domcats.org
[Mon Jun 20 16:10:10 +05 2022] _c_txtdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_aliasdomain='_acme-challenge.domcats.org'
[Mon Jun 20 16:10:10 +05 2022] _c_txt='mh1yNsHy74fOji5PddLHKzySbGG7aShjL3H3iYXMk6k'
[Mon Jun 20 16:10:10 +05 2022] Detect dns server first.
[Mon Jun 20 16:10:10 +05 2022] Use cloudflare doh server
[Mon Jun 20 16:10:10 +05 2022] GET
[Mon Jun 20 16:10:10 +05 2022] url='https://cloudflare-dns.com/dns-query?name=_acme-challenge.domcats.org&type=TXT'
[Mon Jun 20 16:10:10 +05 2022] timeout=
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:10 +05 2022] ret='0'
[Mon Jun 20 16:10:10 +05 2022] Domain domcats.org '_acme-challenge.domcats.org' success.
[Mon Jun 20 16:10:10 +05 2022] All success, let's return
[Mon Jun 20 16:10:10 +05 2022] ok, let's start to verify
[Mon Jun 20 16:10:10 +05 2022] Verifying: domcats.org
[Mon Jun 20 16:10:10 +05 2022] d='domcats.org'
[Mon Jun 20 16:10:10 +05 2022] keyauthorization='SDNZGdhNSOuxM13K89MjMDErGOIoaL3aO8lN2IWVbJ4.RnxxO1YCEPxVyqJAuS2k1sOL_kwC72NalTQEd38eCiQ'
[Mon Jun 20 16:10:10 +05 2022] uri='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] _currentRoot='dns_regru'
[Mon Jun 20 16:10:10 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] payload='{}'
[Mon Jun 20 16:10:10 +05 2022] POST
[Mon Jun 20 16:10:10 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:10 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:18 +05 2022] _ret='0'
[Mon Jun 20 16:10:18 +05 2022] code='200'
[Mon Jun 20 16:10:18 +05 2022] trigger validation code: 200
[Mon Jun 20 16:10:18 +05 2022] Processing, The CA is processing your order, please just wait. (1/30)
[Mon Jun 20 16:10:18 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:10:21 +05 2022] checking
[Mon Jun 20 16:10:21 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:21 +05 2022] payload
[Mon Jun 20 16:10:21 +05 2022] POST
[Mon Jun 20 16:10:21 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:21 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:28 +05 2022] _ret='0'
[Mon Jun 20 16:10:28 +05 2022] code='200'
[Mon Jun 20 16:10:28 +05 2022] Processing, The CA is processing your order, please just wait. (2/30)
[Mon Jun 20 16:10:28 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:10:31 +05 2022] checking
[Mon Jun 20 16:10:31 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:31 +05 2022] payload
[Mon Jun 20 16:10:31 +05 2022] POST
[Mon Jun 20 16:10:31 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:10:31 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:10:38 +05 2022] _ret='0'
[Mon Jun 20 16:10:38 +05 2022] code='200'

...

[Mon Jun 20 16:14:12 +05 2022] Processing, The CA is processing your order, please just wait. (29/30)
[Mon Jun 20 16:14:12 +05 2022] sleep 2 secs to verify again
[Mon Jun 20 16:14:15 +05 2022] checking
[Mon Jun 20 16:14:15 +05 2022] url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:14:15 +05 2022] payload
[Mon Jun 20 16:14:15 +05 2022] POST
[Mon Jun 20 16:14:15 +05 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/Ae-7S-SqaqxAPtUeGGKuJw'
[Mon Jun 20 16:14:15 +05 2022] _CURL='curl --silent --dump-header /home/ubuntu/.acme.sh/http.header  -L  -g '
[Mon Jun 20 16:14:21 +05 2022] _ret='0'
[Mon Jun 20 16:14:21 +05 2022] code='200'
[Mon Jun 20 16:14:21 +05 2022] domcats.org:Timeout

может кто подсказать - в чем проблема, тк я совершенннно не понимаю в чем ошибка (((

измени сервер на le вместо zerossl

Kdkulakov commented 2 years ago

Пробую получить через DNS API regru для proxmox плагин сертификат и выходит следующее: The validation for prox.domen.ru is pending! [Fri Jul 22 20:14:35 MSK 2022] invalid domain [Fri Jul 22 20:14:35 MSK 2022] Error add txt for domain:_acme-challenge.prox.domen.ru

Домен с сервера proxmox распознается. Единственное не пробрасывал на ружу 80 порт, но я так понял для dns проверки это и не нужно. В общем какой домен ему не нравится подскажите пожалуйста.

deni5n commented 2 years ago

Вы случайно домен с * в адресе не используете? Если да, уберите его из команды запуска acme.sh По какой-то причине домены вида *.example.com не работали у меня ( не стал разбираться).

Kdkulakov commented 2 years ago

Вы случайно домен с * в адресе не используете? Если да, уберите его из команды запуска acme.sh По какой-то причине домены вида *.example.com не работали у меня ( не стал разбираться).

Не, этого нет. Команду вообще не использую. Делаю все через плагин в вэбинтерфейсе, который так и называется regru. Но спасибо за идею) попробую через консоль

Kdkulakov commented 2 years ago

Проблема решилась. Добавлением на сайте регру ip сервера в доверенные.

antmrgn commented 1 year ago

Делаю renew сертификата, получаю ответ error_code="ACCESS_DENIED_FROM_IP". В ЛК в разрешенные адреса добавлены: 130.193.111.111/32 (машина с которой запускаю acme.sh) 172.65.32.248/32 (acme-v02.api.letsencrypt.org) 194.58.116.30/32 (так раньше резолвился api.reg.ru) 194.67.72.30/32 (api.reg.ru) Последний адрес добавил, когда получил ошибку. В техподдержке рег.ру ответили, что не могут предоставить адрес для которого приходит ACCESS_DENIED_FROM_IP. Больше ничего посоветовать в ТП не смогли. Для сертификата указан CA Let's Encrypt. Кто-то может подсказать что делать?

mihakot commented 1 year ago

Делаю renew сертификата, получаю ответ error_code="ACCESS_DENIED_FROM_IP". В ЛК в разрешенные адреса добавлены: 130.193.111.111/32 (машина с которой запускаю acme.sh) 172.65.32.248/32 (acme-v02.api.letsencrypt.org) 194.58.116.30/32 (так раньше резолвился api.reg.ru) 194.67.72.30/32 (api.reg.ru) Последний адрес добавил, когда получил ошибку. В техподдержке рег.ру ответили, что не могут предоставить адрес для которого приходит ACCESS_DENIED_FROM_IP. Больше ничего посоветовать в ТП не смогли. Для сертификата указан CA Let's Encrypt. Кто-то может подсказать что делать?

а другого адреса на машине нет? например из приватной сети? сделай вывод ip a и как вариант попробуй зайти на 2ip. с 130.193.111.111 какой адрес покажет?

antmrgn commented 1 year ago

а другого адреса на машине нет? например из приватной сети? сделай вывод ip a и как вариант попробуй зайти на 2ip. с 130.193.111.111 какой адрес покажет?

Виртуалка в Яндексе. Выходит в интернет с адреса 130.193.111.111. Это вижу в админке Яндекса. И при запросе курлом: # curl ifconfig.me 130.193.111.111 И адрес машины точно указан верно, потому что при запросе курлом к апи рег.ру я не получаю ACCESS_DENIED_FROM_IP # curl 'https://api.reg.ru/api/regru2/nop?username=all111@111.org&password=11111Pn&output_content_type=plain'
{ "answer" : { "login" : "all111@111.org", "user_id" : 1111157 }, "charset" : "utf-8", "messagestore" : null, "result" : "success" } У машины только один внешний адрес. И ранее с этой же машины получение и обновление сертификатов работало корректно. p.s. все чувствительные данные заменил на 111

mihakot commented 1 year ago

Ну если все адреса норм, то пинай ТП. либо это был временный глюк.

antmrgn commented 1 year ago

Разобрался. В конфигурационном файле именно этого домена были перепутаны местами значения REGRU_API_Password и REGRU_API_Username. Поменял их местами и заработало. @mihakot спасибо.

allen752 commented 1 year ago

hi, export REGRU_API_Username='test' export REGRU_API_Password='test' is it the REGRU_API_Username and REGRU_API_Password is the Логин and Пароль when register from reg.ru?

simonows commented 1 year ago

@allen752 I'm not sure but It's true for the login, not for the password. Maybe you need to specify an alternative password in the API settings.

изображение

koledas commented 6 months ago

Столкнулся с проблемой проверки домена в случае когда существует 2 домена один из которых является подстрокой второго.

Пример: test.com.ru и subtest.com.ru

Сейчас скрипт находит для subtest.com.ru в качестве корневого домен test.com.ru

Исправил добавлением точек в двух местах: https://github.com/acmesh-official/acme.sh/pull/5036

Просьба включить в основную ветку.

MeXaHu3M commented 5 months ago

Hi all, can anyone help with "invalid domain" error, but domain I entered is correct

Is it possible to order certificates via webui?

mobiservice19 commented 3 months ago

Не могу побороть ошибку:

Loading ACME account details
Placing ACME order
Order URL: https://acme-staging-v02.api.letsencrypt.org/acme/order/152221833/17225108453

Getting authorization details from 'https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/12777762333'
The validation for pvx.example.ru is pending!
[Sun Jun 16 15:49:20 MSK 2024] invalid domain
[Sun Jun 16 15:49:20 MSK 2024] Error add txt for domain:_acme-challenge.pvx.example.ru
TASK ERROR: command 'setpriv --reuid nobody --regid nogroup --clear-groups --reset-env -- /bin/bash /usr/share/proxmox-acme/proxmox-acme setup regru pvx.example.ru' failed: exit code 1

IP - добавил в список доверенных.

mobiservice19 commented 3 months ago

И ещё один вопрос. Используете ли вы услугу Premium DNS от REG.RU

antmrgn commented 3 months ago

@mobiservice19 проверьте нет ли записи _acme-challenge.pvx.example.ru Запустите acme.sh с параметром --debug Premium DNS на каких-то доменах есть, на каких-то нет. На получение сертификатов не влияет.

mobiservice19 commented 3 months ago

@antmrgn Я запускаю процесс запроса сертификата через встроенные средства Proxmox но отрабатывает неуспешно. Записи в DNS _acme-challenge.pvx.example.ru - нет Где располагается файл acme.sh на VM c Proxmox ?

sskokorin commented 2 months ago

Не могу побороть ошибку:

Loading ACME account details
Placing ACME order
Order URL: https://acme-staging-v02.api.letsencrypt.org/acme/order/152221833/17225108453

Getting authorization details from 'https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/12777762333'
The validation for pvx.example.ru is pending!
[Sun Jun 16 15:49:20 MSK 2024] invalid domain
[Sun Jun 16 15:49:20 MSK 2024] Error add txt for domain:_acme-challenge.pvx.example.ru
TASK ERROR: command 'setpriv --reuid nobody --regid nogroup --clear-groups --reset-env -- /bin/bash /usr/share/proxmox-acme/proxmox-acme setup regru pvx.example.ru' failed: exit code 1

IP - добавил в список доверенных.

Вы смогли решить? Столкнулся с идентичной проблемой.

sevzap14 commented 2 months ago

@sskokorin, @mobiservice19, аналогичная проблема. Прошу подсказать, если найдете решение

mobiservice19 commented 2 months ago

Ожидали что помогут тут - но все молчат =(

mobiservice19 commented 2 months ago

Проблема найдена. Всё дело в правильности заполнения учётных данных.

image

Заполните как у меня в примере и всё начнёт работать. Так же рекомендую использовать пароль для API другой в отличии от основного.