본문 바로가기

CentOS

Let's Encrypt Wildcard Domain SSL 인증서 발급

Docker의 Certbot Container를 이용하면 Wildcard Domain SSL 인증서도 쉽게 발급 가능하다길래 좀 봤더니... DNS 서비스와의 연동이 필요했다.

https://hub.docker.com/u/certbot

 

Docker Hub

 

hub.docker.com

이 중에 사용하고 있는 DNS 서비스가 없으므로 그냥 Docker 없이 Certbot-auto를 이용해 manual 모드로 발급받기로 했다. certbot-auto 설치는 아래글을 참조하자.

https://nyaaong.tistory.com/16

 

SSL 무료 인증서 발급하기

https://letsencrypt.org/ Let's Encrypt - Free SSL/TLS Certificates letsencrypt.org 무료로 SSL 인증서를 발급받을 수 있다. 단지 1년마다 갱신해줘야 한다는 단점이 있는데 이제 소개할 Certbot ACME client..

blog.asusual.dev

 

인증서 발급 전, DNS 레코드를 추가할 준비를 하자. 개인적으로 사용하는 네임서버나, DNS 구매 사이트에서 TXT 레코드 추가 준비를 해놓은 뒤, 아래의 명령어를 입력한다.

# certbot-auto certonly \ 
--manual \ 
--preferred-challenges=dns \ 
--email [email 주소] \ 
--server https://acme-v02.api.letsencrypt.org/directory \ 
-d *.[도메인]

emain주소와 도메인을 명령어에 추가해두었기 때문에 몇몇 절차가 생략되고 IP 사용 동의에 대한 메세지가 뜬다.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
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를 눌러주자.

 

다음으로 TXT 레코드 검증 과정이다.

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

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

_acme-challenge TXT 레코드에 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 값을 추가해주자. 이때 TTL값은 최대한 짧게 설정하자. 혹시 실수가 있어 새 레코드를 추가하고 싶어도 TTL때문에 캐시가 남아 정상적으로 진행이 되지 않는 케이스가 있다. 레코드를 추가한 뒤 Terminal로 넘어오기 전 레코드가 정상적으로 조회되는지 체크부터 해보자.

cmd창이나 새 terminal을 열어 nslookup 명령어를 사용하되, 네임서버를 1.1.1.1로 두자

# nslookup _acme-challenge.asusual.dev 1.1.1.1

1.1.1.1로 조회하는 이유는, cert-bot이 1.1.1.1 로 TXT 레코드를 검증해보기 때문이다. 어쨌든, nslookup으로 정상적으로 값이 조회 되었다면 다시 Terminal로 돌아와 Enter를 누르자.

조금만 기다리면.. 완료되었다는 메세지가 뜬다.

....
IMPORTANT NOTES: 

 - Congratulations! Your certificate and chain have been saved at: 
   /etc/letsencrypt/live/asusual.dev-0001/fullchain.pem 
...

 

 

 

 

 

 

 

'CentOS' 카테고리의 다른 글

GitHub-Page (Jekyll 사용하기)  (0) 2020.03.25
docker-compose 설치하기  (0) 2020.03.23
Docker 설치  (0) 2020.03.13
Ruby 설치하기  (0) 2020.03.08
SSL 무료 인증서 발급하기  (0) 2020.03.06