Certbotを使用して、Let's Encrypt SSL証明書を作成してインストールしようとしています。これは、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
同じ結果でもう一度試してみましたが、今ここで尋ねていますが、どうすればよいですか?
[〜#〜] update [〜#〜]nginx.confのサーバーの名前を「private.mydomain.de」から「consult.mydomain」に変更しました.de '。このサブドメインは以前このサーバーで使用されており、以前に証明書がありました(certbot delete --cert-name ...によってアンインストールされました)。この新しい古い名前で、Certbotは問題なく実行され、証明書を作成してインストールしました。
[〜#〜]ソリューション[〜#〜]
Certbotでさらにいくつかの問題が発生し、さらに調査を行った結果、この解決策が見つかりました。OracleLinux 7を搭載したOracle Cloud Infrastructure(OCI)では、Certboxを使用せずに、certbot-autoをインストールします。
'' '
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto/usr/local/bin/certbot-auto
sudo chown root/usr/local/bin/certbot-auto
sudo 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プラグインを使用できます)。
Webrootプラグインを使用:
certbot certonly --webroot -w /var/www/yourdoma.in -d yourdoma.in
どこ /var/www/yourdoma.in
はドメインのwebrootディレクトリです。
Ubuntu 20.04にアップデートした後も同じ問題が発生しました。
Focalで実行されるワンライナーインストールがあります: https://github.com/vinyll/certbot-install#how-to-install
それは私のために解決し、certbot PPAが修正されるときにもアンインストールがあります。