cerbot-nginx 플러그인 letencrypt에서 renew 인증서 재계약 실패 기록
시간: 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.