****************************** 우분투(ubuntu) 무료 SSL 발급받기 - 개정판
/?v=board_view&board_key=23&idx=1281&pg=1&skin=lte
위 게시글에 이어서 아래의 내용을 남긴다.
위 게시글대로 하면, 3개월 인증서 만기시 자동으로 재연장을 할 수가 없었다.
그래서 아래와 같은 방법을 새로 찾아내었다.
=================================================================================
# certbot certonly -d [도메인]
보시는 바와 같이 명령어에서 --dry-run 옵션이 삭제가 되었다.
사실 이 옵션은 테스트모드 라는 의미다.
certbot 발급은 여러번 실패하면, 특정시간동안 시도를 못하게 막아버린다.
그래서 테스트모드로 테스트를 해보라는 의미인듯 하다.
=======================================================================
Saving debug log to /var/log/letsencrypt/letsencrypt.log
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): 2
위 로그 경로로 접속하면 인증문자열을 확인할 수 있다.
=========================================================================
{
"identifier": {
"type": "dns",
"value": 도메인
},
"status": "pending",
"expires": "2023-02-28T20:34:19Z",
"challenges": [
{
"type": "http-01",
"status": "pending",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/205337356496/DfeP7w",
"token": "M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfEWg"
},
{
"type": "dns-01",
"status": "pending",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/205337356496/LS1j4w",
"token": "M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfEWg"
},
{
"type": "tls-alpn-01",
"status": "pending",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/205337356496/s1Jciw",
"token": "M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfEWg"
}
]
}
================================================================================
위 문자열을 지정된 경로에 업로드 한다.
아래는 예시이다.
http://도메인/.well-known/acme-challenge/M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfE
그리고 위 경로에 아래의 문자열이 출력되도록 한다.
M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfEWg.NqJHARuo4D-Tujm4WRx4UUhVq4j_IspcfBWjfsC7J4M
가령 예를들어 위 도메인의 경우 http://도메인/.well-known/acme-challenge/M0W404BwEMfGcvMvsbejniJsTd5jR2RMaGfZO3HfE/index.php 파일에 위 문자열을 추가하고 파일을 저장하면 된다.
참고로 뒤에 .NqJHARuo4D-Tujm4WRx4UUhVq4j_IspcfBWjfsC7J4M 추가문자열까지 출력되도록 해야한다.
저게 뭘 의미하는지는 모르겠는데, 저걸 안 넣으니깐 인증이 실패했다는 메세지가 나왔었다.
그냥 내가 추측하기로는 도메인 인코딩??? 인가 싶기도 한데, 추측일 뿐이다...
==================================================================================
그리고 아래와 같이 경로를 "/" 를 입력후 Enter 를 누르면 아래와 같이 처리 된다.
Plugins selected: Authenticator webroot, Installer None
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for 도메인
Input the webroot for 도메인: (Enter 'c' to cancel): /
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/도메인/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/도메인/privkey.pem
Your cert will expire on 2023-05-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot 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
========================================================================================================
자~ 위 방법으론 90일마다 수동으로 인증서를 갱신해야 한다는 아주 불편함이 있다.
그래서 위 방법말고 다른 방법을 소개한다.
# certbot certonly -d [도메인]
위 명령어를 때리면 아래와 같이 선택지가 나온다.
How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Nginx Web Server plugin (nginx)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)