letsencrypt 서브도메인 와일드 카드로 하나의 인증서로 모두 적용하기 > IT 기술백서

IT 기술백서

직접 알아내거나 검색하기 귀찮아서 모아 둔 것

Server | letsencrypt 서브도메인 와일드 카드로 하나의 인증서로 모두 적용하기

본문

인증하는 방식은 3가지가 있다.

1. standalone 방식

letsencrypt 가 별도의 웹서버를 띄워 인증하는 방식.  기존 서버를 중지하고 해야 하기 때문에 비효율적임.

와일드카드를 사용할 수 없음

 

2. webroot 방식

실제 서비스 되고 있는 사이트의 디렉토리내에 특정파일로 검증하는 방식

모든 서브도메인이 하나의 디렉토리를 이용하고 있어야만 함

와일드카드 사용할 수 없음

 

3. DNS 방식

DNS 레코드에 TXT 타입의 값을 입력하여 해당 도메인의 소유자를 확인하여 인증서를 발급해주는 방식

와일드카드를 사용할 수 있다

 

 

 

인증하기 명령어

[code]

certbot certonly --manual -d *.example.com -d example.com --preferred-challenges dns 

[/code]

 

[code] 

Are you OK with your IP being logged?

(Y)es/(N)o: y

[/code]

"Y" 입력

 

[code]

Please deploy a DNS TXT record under the name

_acme-challenge.example.com with the following value:


-Nea-txoXaIt4P1L-2BwjzFlcObqPTjgnLojXXXXXX


Before continuing, verify the record is deployed.

[/code]

이 화면이 나오면 아직 엔터를 치면 안된다.

DNS 레코드 세팅 후 해야 한다.

 

한개가 나올때도 있지만 엔터치면 한개가 더 나올때가 있다.  그럴땐 두개 다 입력해 줘야 한다.

(무슨 이유인지는 잘 모르겠다)

 

 

위 문자열을 자신의 dns레코드에 TXT 타입으로 입력한다.

_acme-challenge

: 서브도메인자리에 입력

-Nea-txoXaIt4P1L-2BwjzFlcObqPTjgnLojXXXXXX

: 값입력란에 입력

 

다 입력하고 난뒤에 저장하고 적용이 되었는지 먼저 확인해 봐야 한다.

https://toolbox.googleapps.com/apps/dig/#TXT/

 

위 링크로 가서 TXT 항목을 선택한 다음 "_acme-challenge.자기도메인"을 입력하여 값이 제대로 나오는지 확인해 본다.

 

마지막으로 인증진행화면에서 엔터를 누르면

[code]

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:

[/code]

 

위와 같이 나오면 성공!

 

nginx 에서 해당 인증서를 추가해 준다.

 

[code] 

server {

    listen 443 ssl;

    ...

    ...

    ...

 

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;


    include /etc/letsencrypt/options-ssl-nginx.conf;

    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 

}

[/code]

 

참고: https://oasisfores.com/letsencrypt-wildcard-ssl-certificate/

댓글 0개

등록된 댓글이 없습니다.

Menu