본문 바로가기

리눅스

Let's Encrypt을 사용하여 SSL 인증서를 발급 - WEBROOT

반응형

Let's Encrypt(certbot)을 사용하여 SSL 인증서를 발급 - WEBROOT

WEBROOT 방식의 개요

  • WEBROOT 방식은 도메인 소유권을 인증하기 위해, 웹 서버의 특정 경로에 인증용 파일을 생성하여 Let's Encrypt 서버가 이를 확인할 수 있도록 합니다.

EPEL 패키지 설치

sudo yum install -y epel-release

Certbot 패키지 설치 및 디렉터리 권한 설정

sudo yum install -y certbot
mkdir -p /var/lib/letsencrypt/.well-known
cd /var/lib
chgrp nobody letsencrypt
chmod g+s letsencrypt

SSL 인증서 발급 - WEBROOT 방식

sudo certbot certonly \
	--agree-tos \
	--email admin@sangchul.kr \
	--webroot \
	-w /var/lib/letsencrypt \
	-d ssl.sangchul.kr
$ certbot certonly --agree-tos --email admin@sangchul.kr --webroot -w /var/lib/letsencrypt/ -d ssl.sangchul.kr
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for ssl.sangchul.kr
Performing the following challenges:
http-01 challenge for ssl.sangchul.kr
Using the webroot path /var/lib/letsencrypt for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: admin@sangchul.kr).
Starting new HTTPS connection (1): supporters.eff.org

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/ssl.sangchul.kr/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/ssl.sangchul.kr/privkey.pem
   Your certificate will expire on 2021-06-07. 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

SSL 인증서 파일

인증서와 프라이빗 키가 /etc/letsencrypt/live/example.com/ 디렉토리

  • fullchain.pem : 전체 인증서 체인 파일
  • privkey.pem : 프라이빗 키 파일
  • cert.pem : 도메인 인증서 파일
  • chain.pem : 중간 인증서 파일
/etc/letsencrypt/live/ssl.sangchul.kr/cert.pem
/etc/letsencrypt/live/ssl.sangchul.kr/privkey.pem
/etc/letsencrypt/live/ssl.sangchul.kr/chain.pem

자동 갱신 설정

Let's Encrypt 인증서는 90일 동안 유효합니다. 따라서 자동 갱신을 설정해두는 것이 좋습니다.

 

Certbot은 이미 자동 갱신을 위한 크론 작업(cron job)이나 시스템 타이머를 설치합니다. 수동으로 갱신을 테스트합니다.

sudo certbot renew --dry-run

성공적으로 실행되면 자동 갱신도 잘 설정된 것입니다.

 

728x90
반응형