Назад | Перейти на главную страницу

Ошибка Certbot без атрибута TLSSNI01 / код состояния cert-revoke 400

Я пытаюсь создать и установить SSL-сертификат Let's Encrypt с помощью certbot. Это для поддомена с именем private.mydomain.de (на другом сервере, чем mydomain.de). Certbot прекращает работу со следующими сообщениями:

An unexpected error occurred:
AttributeError: 'module' object has no attribute 'TLSSNI01'

Пошел в https://letsdebug.net/ и проверил соответствующий домен.
HTTP-01 и DNS-01 тесты пройдены, TLS-ALPN-01 не работает с этими подробными сообщениями об ошибках:

IssueFromLetsEncrypt 
ERROR 
A test authorization for private.mydomain.de to the Let's Encrypt staging service 
has revealed issues that may prevent any certificate for this domain being issued.
Connection refused

DEBUG
Challenge update failures for private.mydomain.de in order  
https://acme-staging-v02.api.letsencrypt.org/acme/order/<....>/<....>
acme: error code 400 "urn:ietf:params:acme:error:connection":  
Connection refused PublicSuffix

RateLimit
DEBUG
1 Certificates contributing to rate limits for this domain
Serial: <serialnr>
NotBefore: 2020-02-02 22:23:22 +0000 UTC 
Names: [finance.mydomain.de mydomain.de] 

Мой план сейчас состоит в том, чтобы отозвать сертификат, способствующий ограничению скорости:

Используемый https://censys.io/certificates?q=...serialnr и скопировал PEM, вставил его в https://tools.letsdebug.net/cert-revoke, выполнил задачи DNS и проверил с помощью dig. После этого операция «Отменить сертификат» прерывается с ошибкой:

An error occured
Unfortunately something went wrong during the process. Usually this is  
not recoverable - you will need to start from the beginning.
Error: Request failed with status code 400

Попробовал еще раз с тем же результатом, теперь я спрашиваю, что мне делать?

ОБНОВИТЬ Я переименовал сервер в nginx.conf с «private.mydomain.de» на «consult.mydomain.de». Этот поддомен ранее использовался на этом сервере и ранее имел сертификат (который был удален с помощью certbot delete --cert-name ...). С этим новым старым именем Certbot без проблем запустился, создал и установил сертификат.

РЕШЕНИЕ
После еще нескольких проблем с Certbot и дополнительных исследований я нашел следующее решение: в Oracle Cloud Infrastructure (OCI) с Oracle Linux 7 не используйте Certbox, а установите certbot-auto:
'' '
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto / usr / local / bin / certbot-auto
sudo chown корень / usr / local / bin / certbot-auto
Судо chmod 0755 / usr / local / bin / certbot-auto
sudo / usr / local / bin / certbot-auto certonly --standalone
'' '
Из: https://blogs.oracle.com/developers/free-ssl-certificates-in-the-oracle-cloud-using-certbot-and-lets-encrypt

Я смог создать и установить все желаемые сертификаты.

Для очень хрупкого обходного пути вы можете отредактировать /usr/lib/python3/dist-packages/certbot_nginx/configurator.py и заменить return [challenges.HTTP01, challenges.TLSSNI01] с участием return [challenges.HTTP01] (или вы ... можете использовать плагин webroot)

У меня была такая же проблема после обновления до Ubuntu 20.04.

На Focal работает однострочная установка: https://github.com/vinyll/certbot-install#how-to-install

Это решено для меня, и есть удаление также, когда Certbot PPA будет исправлен.

Используйте плагин webroot:

certbot certonly --webroot -w /var/www/yourdoma.in -d yourdoma.in

где /var/www/yourdoma.in корневой веб-каталог вашего домена.