dinist

Let's Encrypt 와일드카드 인증서 발급하기 본문

Google Cloud Platform/Compute Engine

Let's Encrypt 와일드카드 인증서 발급하기

dinist 2020. 10. 29. 13:10

이전에 Certbot을 이용한 Let's Encrypt HTTPS인증서 발급에 대한 글을 작성한 적이 있다.

하지만 문제가 있었으니 이전에는 domain.com이라는 도메인에 대한 HTTPS인증서를 발급받은 것이었는데,

이렇게 되면 abc.domain.com에 접속할때는 HTTPS인증서가 적용되지 않는다.

그래서 *.domain.com과 같이 와일드카드문자 *을 이용하여 어떠한 주소가 앞에 오더라도 똑같이 HTTPS를 적용할 수 있도록 와일드카드 인증서를 발급하기로 했다.

 

다음과 같은 명령어를 입력하여 과정을 진행해보자.

 

certbot certonly --manual -d *.example.com -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

 

--manual : 수동으로 과정을 진행한다.

-d : 등록할 도메인을 지정한다. 기존에 사용하던 도메인이름과 와일드카드 도메인 2개를 입력한다.

--preferred-challenges : DNS를 이용한 인증서 발급방식을 사용하기 위한 옵션이다. 

dns-01 : DNS를 용한 preferred-challenges를 사용시 이 옵션을 사용해야 한다.

--server : Let's Encrypt의 ACME(자동화된 인증서 관리 환경) 서버 주소 입력

 

 

기존의 인증서를 새로운 인증서로 확장 및 교체 하겠냐고 묻는다.

Expand 하기위해 E를 입력

 

그러면 IP가 로그된다는것에 대해 괜찮냐고 물어본다.

Yes 해주면 이제 DNS서버에 _acme-challenge.domain.com 이름의 TXT레코드를 추가하라고 나온다.

이 TXT레코드 등록 과정을 두번 진행 할 것이다. (처음에 -d 옵션으로 두개의 도메인을 지정했으므로)

(레코드 등록 이전에 엔터를 누르면 안됨)

사용중인 도메인서버에 TXT레코드에 아래 제시된 value를 추가한다.

 

첫번째 TXT 레코드 요청 (dns서버에 레코드 등록이 완료되면 그때 엔터를 누른다.)

 

TXT를 설정하는동안 TTL을 짧게 설정하자. (길게했다가 힘들어진다)

설정이후 리눅스계열은 dig 윈도우계열은 nslookup 등으로 TXT레코드가 설정되었는지 확인한다.

 

 

Linux : dig txt _acme-challenge.domain.com

dig명령 결과 ANSWER SECTION에 TXT레코드가 정상적으로 출력된다.

 

Windows : nslookup -q=txt _acme-challenge.domain.com

 

 

이렇게 TXT레코드가 조회가 되면 이제 엔터를 눌러 인증서 발급을 마저 진행한다.

 

 

두번째 TXT 레코드 요청

이제 두번째 TXT 레코드를 등록하라고 나온다. 아까와 똑같이 TXT레코드를 등록해주고 dig nslookup 명령등으로 TXT레코드 등록이 잘 되었나 확인을 하고 엔터를 눌러 진행한다.

 

인증서 발급과정이 완료되었다.