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;
    }
}

두 번째 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
}

정확히 무엇이 잘못되었는지, 왜 이 두 줄이 있는지(물론 오류가 반복되는 것을 피하기 위해) 궁금하지만 문제는 해결된 것 같습니다.

관련 정보