NPM(Nginx Proxy Manager)를 이용한 와일드카드(Wildcard) 인증서 발급받기.(Cloudflare)

NPM(Nginx Proxy Manager)를 이용한 와일드카드(Wildcard) 인증서 발급받기.(Cloudflare)

안녕하세요. 달소입니다.

오랜만에 NPM에 관한 정보글을 올려봅니다.

기존에 제가 사용하고있는 aapanel에서도 인증서나 프록시쪽을 지원해줬지만 추후에 서버마이그레이션때는 proxy를 모두 NPM을 태우려고 준비하다보니 와일드카드인증서 쪽은 작성하지않아서 기록용으로 작성해봅니다 ㅎㅎ

NPM이란?(NPM 설치하기)

Nginx Proxy Manager에 대한 설명은 이전에 올렸던글로 대체합니다.

https://svrforum.com/svr/32300

Wildcard란?

다만, 와일드카드인증서의 경우 익숙하지않으신분들이 있기때문에 간단하게 짚고 넘어가자면

보통 도메인을 구매할때는 aaaa.com 이런식으로 도메인을 발급받게되는데요. 도메인을 여러개로 사용할수 있게 dns에서는 서브도메인이라는개념을 지원합니다.

예를 들어 blog.aaaa.com, test.aaaa.com 과 같이 앞에 xxxx.을 붙이고 본 도메인을 사용하는것입니다.

다만 이경우에는 각각의 도메인이 별도로 인식되기때문에 인증서도 여러개로 관리해야하는 불편함이 존재하는데 와일드카드 인증서는 이러한 하위도메인들을 묶어 *.aaaa.com 과 같은 인증서 하나로 통일하게끔 지원해줍니다.

당연히(?) 인증방식도 조금 다르기 때문에 file 이나 webroot 식은안되고 dns challange를 이용해서 진행됩니다.

사전준비

준비물은 제목에서도 적어놓았듯 Cloudflare의 DNS를 사용하기 때문에 관리계정과설치 Docker NPM이 되겠습니다.

클라우드플레어 API 발급받기

먼저 클라우드플레어에서 DNS 인증을 받기위한 API키를 별도로 발급받아주겠습니다.

https://dash.cloudflare.com/profile/api-tokens

그리고 생성된 토큰값을 저장해주세요.

NginxProxyManager에서 Wildcard 인증서 발급받기

이제 NPM의 관리페이지로 가서 상단의 SSL Certificates로 이동한뒤 Add SSL Certificate(Let's Encrypt)를 눌러줍니다.

그리고 발급받을 와일드카드 도메인을 *.도메인 이런식으로 넣어주고
Use a DNS Challenge 활성화 후 Cloudflare 선택 아래 api token쪽에 아까 발급받은 pai키를 복붙해줍니다.

Save를 누르고일정시간이 지나면 아래처럼 와일드카드 인증서 발급이 완료됩니다.

적용방법은 쉽습니다.

Proxy Host에서 SSL 탭에서 발급받은 와일드카드 인증서를 넣어주시면됩니다.

끝! 입니다.