Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Let’s Encrypt SSL 와일드카드 인증서 발급


구성 환경

  • Virtual Machine (VMWare Workstation) – Ubuntu 18.04 LTS

발급 과정

  1. 저장소 추가 및 패키지 목록 업데이트
  • add-apt-repository ppa:certbot/certbot
  • apt update

  1. Certbot 설치
    apt install certbot -y
  • -y 설치 도중 물어보는 모든 질문을 YES 처리한다.

  1. 인증서 발급 요청
    certbot certonly --manual -d "*.example.com" -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
  • certonly 발급 후 적용 과정을 거치지 않고 오직 발급만 받는다.
  • --manual 발급 과정을 수동으로 진행한다.
  • -d 등록할 도메인을 지정한다. 와일드카드를 적용하기 위해 두 번 지정한다.
  • --preferred-challenges dns-01 DNS 레코드를 사용해서 인증서를 발급받는 방식을 뜻한다.
  • --server Let's Encrypt ACME Directory Resource URI.

  1. 옵션 지정

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): user@example.com

인증서 발급 로그 정보는 /var/log/letsencrypt/letsencrypt.log에 저장된다. 인증서 발급 갱신 알림을 받기위한 메일 주소를 설정한다.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

Let's Encrypt 라이선스 동의서에 동의한다.

-------------------------------------------------------------------------------
Would you be willing 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 EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: N

제 3자에게 메일 주소를 공유할 것 인가?

Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for example.com
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: A

IP 주소 수집에 대한 동의

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

gjjy1IGFytht_6xY1AxmyM6JJTBhe_V0kDKMxSM8iG0

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

DNS TXT 레코드 키 값이 주어진다. DNS 호스팅 페이지에서 _acme-challenge 서브 도메인에 대한 TXT 값을 위에 주어진 키 값으로 지정한다. (_acme-challenge.example.com)
인증서가 발급될 동안 잠시 _acme-challenge.example.com 도메인의 TTL 값을 최단 기간으로 지정한다.

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

cLaSNZM9iNOIaxWf7eiINH3Mx_2rN-oBe3jkdvYpZbA

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

와일드카드 인증서이므로 한번 더 이 과정을 반복한다. (example.com 및 *.example.com)

주의 이제 DNS 호스팅 서버가 수정된 TXT 값을 반영하는 동안 Enter를 누르지말고 잠시 기다린다. (5 ~ 10 분)
nslookup -q=TXT _acme-challenge.example.com 위에 할당된 키 값이 반영되었는지 가끔 쿼리해본다.
캐시 문제로 10분이 지나도 반영이 되지 않는다면 'https://mxtoolbox.com/TXTLookup.aspx' 등 온라인 TXT LOOKUP 서비스를 이용해본다. 반영이 되었다면 Enter를 누른다. 이제 TXT 레코드를 삭제한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.