cerbot-nginx 플러그인 letencrypt에서 renew 인증서 재계약 실패 기록

5725 단어
https://li5jun.com/article/512.html
시간: 2018-08-29 21:58:36
다음은letsencrypt로 도메인 이름 인증서를 갱신하는 데 발생한 몇 가지 문제입니다.
 
Saving debug log to/var/log/letsencrypt/letsencrypt.log
Failed to find executable apache2ctl in PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/maven/bin:/home/jdk/bin
 
How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): c
Could not choose appropriate plugin: authenticator could not be determined or is not installed
authenticator could not be determined or is not installed
 
인터넷의 해석을 통해 매개 변수인nginx를 추가해야 한다는 것을 알게 되면 apactl과 같은bin 파일을 찾지 않을 것이다.그런데 또 새로운 문제가 생겼다.
root@iZ28yczj108Z:~#/home/certbot/certbot-auto certonly --nginx --renew-by-default --email [email protected] -d li5jun.com -d www.li5jun.com 
Saving debug log to/var/log/letsencrypt/letsencrypt.log
Could not choose appropriate plugin: The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError()
The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError()
이름만 알면nginx 플러그인을 설치해야 합니다. 인터넷에서 찾을 수 있습니다.certbot의 플러그인을python으로 설치해야 합니다.
 
pip install certbot-nginx     
 
 
 
저는 debian7을 사용하기 때문에 이 명령을 실행하면 많은 설치 출력이 나오고 조용히 기다리며 조용한 작은 공거가 됩니다.  
Downloading https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB)
 
    41% |█████████████▍                  | 880kB 30kB/s eta 0:00:41
마지막으로 다음과 같은 텍스트를 출력했습니다.
 
You are using pip version 9.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
명령을 실행한 후에도 플러그인이 설치되지 않았습니다.
 
다음은 한 군데 가서/etc/letsencrypt/renewal을 바꾸고, 아래의 authenticator와 installer를 고치고nginx로 바꾸세요
# Options used in the renewal process
[renewalparams]
authenticator = standalone [nginx]
installer = None [nginx]
account = 512ba1f8b16a6666ccb70786c9bc8125
 
테스트 명령을 실행해도 결과가 오타입니다.
 
 /home/certbot/certbot-auto --dry-run renew
Saving debug log to/var/log/letsencrypt/letsencrypt.log
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing/etc/letsencrypt/renewal/li5jun.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Could not choose appropriate plugin: The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError()
Attempting to renew cert (li5jun.com) from/etc/letsencrypt/renewal/li5jun.com.conf produced an unexpected error: The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError(). Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/li5jun.com/fullchain.pem (failure)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)
 
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/li5jun.com/fullchain.pem (failure)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)
마지막으로github에서 이 issue의 답을 찾았습니다. 원래는 원본 파일에서nginx를 수동으로 컴파일할 때 환경 변수에 경로를 추가하지 않아서cerbot에서nginx를 찾을 수 없었습니다.이거 which nginx로 테스트할 수 있어요.
 
환경 변수를 추가한 후 conf 구성 파일에도 소프트 연결이 설정됩니다.
ln -s /usr/local/nginx/conf/ /etc/nginx

화살:https://github.com/certbot/certbot/issues/4937 
성공한 출력은 다음과 같습니다.
/home/certbot/certbot-auto certonly --nginx --renew-by-default --email [email protected] -d li5jun.com -d www.li5jun.com
Saving debug log to/var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for li5jun.com
tls-sni-01 challenge for www.li5jun.com
Waiting for verification...
Cleaning up challenges
 
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/li5jun.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/li5jun.com/privkey.pem
   Your cert will expire on 2018-11-27. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:
 
   Donating to ISRG/Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

좋은 웹페이지 즐겨찾기