certbot LetsEncrypt証明書のインストールに失敗しました

certbot LetsEncrypt証明書のインストールに失敗しました

家には小さなテストサーバーがあり、有効な証明書を取得するためにLetsEncryptを登録しました。

証明書の有効期限が切れ、自動的に更新されません(害はありません。これはテスト目的でのみ使用されます)。

証明書をインストールした方法を覚えておらず、「Debian GNU / Linux 12(bookworm)」(該当する場合は実際にはLXDコンテナ)を実行しているサーバーに「certbot」がインストールされていません。

私はcertbot標準的な取付けを使用します:

sudo apt update && sudo apt install certbot python3-certbot-nginx

その後、引き続き使用してください。

sudo certbot --nginx -d blog.mydomain.it

ところで、予期しないエラーが発生しました。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for blog.mydomain.it

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/blog.mydomain.it/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/blog.mydomain.it/privkey.pem
This certificate expires on 2024-02-14.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for blog.mydomain.it to /etc/nginx/sites-enabled/blog.conf
We were unable to install your certificate, however, we successfully restored your server to its prior configuration.

NEXT STEPS:
- The certificate was saved, but could not be installed (installer: nginx). After fixing the error shown below, try installing it again by running:
  certbot install --cert-name blog.mydomain.it

nginx restart failed:
2023/11/16 23:31:55 [emerg] 561#561: SSL_CTX_use_PrivateKey("/etc/letsencrypt/blog.mydomain.it_ecc/private.key") failed (SSL: error:05800074:x509 certificate routines::key values mismatch)

Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

以前の証明書のインストールと、私がやろうとしている作業が一致しないようですが、どうすればよいのかcertbotわかりません。

役に立つと、以前の証明書を簡単に消去できますが、より大きな混乱を引き起こす前にその事実を知りたいです。

サーバー自体を中断することなく証明書を再インストールする必要があります(合理的なダウンタイムは問題ありません)。

修正する:

要求どおり(何の情報も追加しないようですが…):

mcon@webserver:~$ sudo certbot install --cert-name blog.mydomain.it
[sudo] password for mcon: 
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Deploying certificate
Successfully deployed certificate for blog.mydomain.it to /etc/nginx/sites-enabled/blog.conf
We were unable to install your certificate, however, we successfully restored your server to its prior configuration.
nginx restart failed:
2023/11/17 09:08:38 [emerg] 3162#3162: SSL_CTX_use_PrivateKey("/etc/letsencrypt/blog.mydomain.it_ecc/private.key") failed (SSL: error:05800074:x509 certificate routines::key values mismatch)

Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
mcon@webserver:~$ 

アップデート2:

鉱山には/etc/nginx/sites-enabled/blog.conf次の定義が含まれています。

server {
    listen 443 ssl;
    server_name blog.mydomain.it;
    root /var/www/vitepress;
    ssl_certificate /etc/letsencrypt/blog.mydomain.it/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/blog.mydomain.it/privkey.pem;
    ssl_certificate /etc/letsencrypt/blog.mydomain.it/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/blog.mydomain.it_ecc/private.key;

    location / {
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}

2番目ssl_certificate/ssl_certificate_key ペアをコメントアウトすると、実際に問題が解決しました。

現在私の(作業中!)インストールは次のとおりです。

server {
    listen 443 ssl;
    server_name blog.mydomain.it;
    root /var/www/vitepress;
    ssl_certificate /etc/letsencrypt/live/blog.mydomain.it/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/blog.mydomain.it/privkey.pem; # managed by Certbot

    location / {
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}
server {
    if ($host = blog.mydomain.it) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name blog.mydomain.it;
    return 404; # managed by Certbot
}

正確に何が間違っているのか、なぜこの2行があるのか​​(もちろんエラーが繰り返されるのを避けるために)疑問に思っていますが、問題は解決したようです。

ベストアンサー1

おすすめ記事