와일드 카드 인증서를 찾아본 이유

사내 서버에 Nginx를 리버스 프록시로 두고 Grafana, Jenkins 같은 개발 도구를 운영하고 있습니다. 도구마다 서브도메인을 붙여 쓰니 관리하기가 편했습니다.

문제는 SSL 인증서였습니다. 서브도메인을 만들 때마다 일반 인증서를 새로 발급하고 관리하는 일이 귀찮았습니다.

서브도메인마다 인증서를 따로 발급하지 않을 방법을 찾아보다가 와일드카드 인증서를 알게 되었습니다.

와일드카드 인증서는 *.domain.name처럼 발급받아 여러 서브도메인에 사용할 수 있습니다. 새 서브도메인을 추가할 때마다 인증서를 새로 발급하지 않아도 됩니다.

Lets Encrypt 에서 와일드카드 발급받기

Let's Encrypt에서 인증서를 발급받는 방법을 찾아보면서 다음과 같은 인증 방식을 알게 되었습니다.

  1. Webroot
  2. 웹 서버
  3. Standalone
  4. DNS

와일드카드 인증서를 발급받을 때는 DNS 인증을 사용했습니다.

DNS에 TXT 레코드를 등록해 도메인의 소유권을 확인하는 방식입니다.

이 방법으로 와일드카드 인증서를 발급받아 Nginx에 적용했습니다. 이후에는 서브도메인을 추가하더라도 인증서를 새로 발급할 필요가 없어졌습니다.

2025.03.16 추가: 인증서 갱신 자동화

와일드카드 인증서를 쓰면서 새로운 불편이 생겼습니다.

처음에는 인증서를 갱신할 때 DNS에 TXT 레코드를 직접 등록했습니다. 인증서를 갱신할 때마다 같은 일을 반복해야 했고, DNS 레코드가 반영되기를 기다려야 하는 경우도 있었습니다.

한두 번은 할 만하지만 계속하려니 귀찮았습니다.

결국 DNS 인증 과정을 자동화하는 방법으로 바꾸었습니다. 인증서 갱신 과정에서 필요한 DNS 레코드를 자동으로 등록하고, 갱신한 인증서를 Nginx에서 계속 사용할 수 있도록 구성했습니다.

와일드카드 인증서를 쓰면서 가장 편해진 점은 단순합니다.

이제 서브도메인을 하나 추가하는 일이 SSL 인증서 하나를 더 관리하는 일로 이어지지 않습니다.

참고

  • Let's Encrypt 공식 문서
  • Certbot 공식 문서