티스토리 뷰

1 단계 : Let 's Encrypt Certbot 도구 설치

무료 와일드 카드 인증서를 생성하기 전에 먼저 certbot이 설치되어 실행 중인지 확인해야한다. 설치하려면 아래 명령을 실행한다.

sudo apt update
sudo apt install letsencrypt vim cron -y

위의 명령은 certbot 도구와 도구가 작동하도록 허용되는 모든 종속성을 설치한다.

2 단계 : Let 's Encrypt 와일드 카드 SSL 인증서 생성

도구가 설치되었으므로 이제 인증서 생성을 진행할 수 있다.

Let 's Encrypt는 SSL 인증서를 제공 할 도메인을 소유하고 있는지 확인하는 여러 가지 방법을 제공한다. 인증서를 원하는 도메인을 소유하고 있음을 증명할 수없는 경우 인증서를 생성 할 수 없다.

그러나 와일드 카드 인증서의 경우 Let 's Encrypt가 허용하는 유일한 시도 방법은preferred-challenges = dns플래그를 통해 호출 할 수있는 DNS 시도이다.

따라서 도메인* .example.com에 대한 와일드 카드 인증서를 생성하려면 아래 명령을 실행한다.등록시 도메인도 포함해야한다.

sudo certbot certonly --manual --preferred-challenges=dns --email admin@example.com \
--server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d example.com -d *.example.com

위의 명령 옵션은 아래에 설명되어 있다.

  • *certonly : * 인증서를 얻거나 갱신하지만 설치하지는 않는다.
  • –manual : 대화식으로 인증서 얻기
  • –preferred-challenges = dns : dns를 사용하여 도메인 소유권 인증
  • –server : 생성에 사용할 엔드 포인트를 지정
  • –agree-tos : ACME 서버의 가입자 약관에 동의
  • -d : 인증서를 제공 할 도메인 이름

위의 명령을 실행 한 후 Let 's Encrypt는 DNS 항목에 텍스트 레코드를 추가하기위한 텍스트 문자열을 제공한다.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: 
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:

4fFjrm4D_KKpgaBDU23BXJm4nNO3TcvzynHTrKYnnRU

Before continuing, verify the record is deployed.

DNS 공급자 포털(aws 의 경우 route 53 서비스)로 이동하여 위의 문자열에 대한 텍스트 레코드를 추가하고 저장한다.

프롬프트에서 계속하기 전에 몇 분 정도 기다린다. 일부 DNS 제공 업체는 변경 사항을 적용하기 위해 약간의 시간이 필요하며, 이는 제공 업체의 플랫폼에 따라 달라질 수 있다.

위의 변경 사항과 Let 's encrypt가 도메인을 소유하고 있음을 확인할 수있게되면 아래와 같은 성공적인 메시지가 표시된다.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2020-12-18. 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

이와 같은 메세지가 나오면 성공이다!

이제 와일드 카드 인증서가 생성되어 사용할 준비가되었다. 인증서가 준비되었는지 확인하려면 아래 명령을 실행한다.

sudo certbot certificates

아래와 비슷한 화면이 표시된다.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: example.com
    Domains: example.com *.example.com
    Expiry Date: 2020-12-18 23:26:31+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

설정이 완료되었다!

이제 Let 's Encrypt의 인증서는 90 일 동안 유효하다. 갱신 프로세스를 자동화하는 crob 작업을 설정해야한다. 이렇게하려면 crontab을 열고 아래 항목을 추가한다.

sudo crontab -e

그런 다음 아래 줄을 추가하고 저장한다…

0 0 1 1,3,5,7,9,11 * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log

저장하면 완료된다!

'Server & Etc > Docker' 카테고리의 다른 글

[Docker] UBUNTU에 도커 설치하기  (0) 2018.10.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크