개발노트
고즐의 개발 및 서버 개발 노트Certbot으로 Wildcard 인증서 발급하는 실전 가이드
# WildcardSSL # DNS01Challenge # CertbotGuide # LetEncrypt # SubdomainSSL
무료 SSL Certbot SSL 구축부터 자동화까지 한눈에 정리
- 아파치 SSL 인증서 충돌 해결기: 도메인마다 다른 인증서가 뜰 때 대처법
- Certbot으로 HTTPS 적용하기: Rocky Linux 9 실전 가이드
- 록키 리눅스 서버 운영자를 위한 필수 명령어 가이드 북
- 서버에서 SSL 활성 여부와 남은 기간 자동 표시하기
- Certbot 자동갱신 완전 가이드: cron과 systemd.timer 비교
- Certbot으로 Wildcard 인증서 발급하는 실전 가이드
- Certbot Friendly VirtualHost 템플릿: Apache·Nginx 즉시 적용 가이드
- Certbot 오류 해결 총정리 FAQ 가이드
- Certbot 인증서 만료 알림 자동화 완전 가이드
![]()
개발을 할 때 도메인에 연결하여 작업을 할 때 2차 도메인을 여러 개 자유롭게 사용하고 싶어서 Wildcard SSL 서비스를 이용하고 있습니다.
이렇게 하면 진행 중인 프로젝트와 임시 웹사이트를 고객에게 보여줄 때에도 편리합니다.
Wildcard SSL과 DNS-01 챌린지란 무엇인가
Wildcard SSL은 하나의 인증서로 여러 서브도메인을 동시에 보호할 수 있는 구조를 제공한다. 개발 환경과 운영 환경을 동시에 다루는 사용자에게 가장 효율적인 방식이며, 도메인 구조가 확장될수록 그 가치가 더욱 커진다.
Wildcard SSL 개념 이해
Wildcard 인증서 구조
Wildcard SSL은 별표 형태의 와일드카드를 이용하여 모든 하위 도메인을 포함한다. 예를 들어 *.example.com 인증서가 있다면 www.example.com, dev.example.com, api.example.com 모두 동일한 인증서에서 보호받는다. 이 방식은 서비스 확장 시 인증서를 반복 발급해야 하는 수고를 크게 줄여준다.
루트 도메인 제외 구조
Wildcard 인증서는 루트 도메인 example.com 자체는 포함하지 않는다. 따라서 루트 도메인은 별도로 인증서를 발급받아야 한다. 이를 함께 관리하면 전체 도메인의 HTTPS 구성이 완성된다.
DNS-01 챌린지가 필요한 이유
DNS 기반 검증 방식
Let’s Encrypt는 도메인 소유권을 검증하기 위해 여러 검증 챌린지를 제공한다. Wildcard 인증서는 오직 DNS-01 챌린지 방식으로만 발급할 수 있다. 이는 DNS 레코드에 특정 TXT 값을 추가하여 소유권을 인증하는 방식이다.
HTTP-01 방식과의 차이
HTTP-01 챌린지는 웹서버에 파일을 생성하는 방식이다. 간단하지만 Wildcard 인증은 지원하지 않는다. 서브도메인이 많거나 동적으로 생성되는 환경에서는 DNS-01 방식이 훨씬 적합하다.
DNS TXT 레코드 구성 방식
DNS-01 챌린지는 dns 서비스에 _acme-challenge.example.com 형태의 TXT 레코드를 생성하는 구조다. 검증값은 Certbot이 출력하며, 생성 후 전파가 완료되면 Let’s Encrypt는 이를 조회하여 소유권을 확인하고 인증서를 발급한다.
Wildcard SSL이 개발 환경에서 강력한 이유
서브도메인이 자주 생성되는 개발 환경에서는 Wildcard SSL의 유용성이 극대화된다. 테스트용 도메인, 스테이징 환경, API 버전 테스트 등 다양한 상황에서 별도의 SSL 발급 과정 없이 HTTPS를 구성할 수 있다.
개발 환경에서의 활용 사례
임시 서브도메인 관리
테스트 서버가 여러 개 필요한 프로젝트에서는 test.example.com, dev2.example.com 같은 서브도메인이 반복적으로 만들어진다. Wildcard SSL은 이러한 환경을 즉시 HTTPS로 전환할 수 있게 해준다.
다국어 서비스 구축 시 장점
다국어 사이트는 보통 kr.example.com, en.example.com, jp.example.com과 같이 언어별로 서브도메인을 구성한다. Wildcard SSL을 적용하면 모든 지역 버전을 한 번에 보호할 수 있어 운영이 간편해진다.
호스팅 업체의 자동 SSL 원리 이해
자동화된 DNS 챌린지 처리
호스팅 업체가 제공하는 자동 SSL 기능은 내부적으로 DNS 레코드를 자동 생성하는 API 기반 시스템을 사용한다. Wildcard 또는 SAN 인증서를 자동 발급 및 갱신하며, 사용자는 별도의 설정 없이 SSL이 적용된 상태를 경험한다.
Certbot으로 Wildcard SSL 발급하는 방법
Certbot은 DNS-01 챌린지를 자동화하여 Wildcard SSL을 발급하는 가장 널리 쓰이는 도구다. DNS 서비스 API와 연동하면 TXT 레코드 생성과 갱신까지 모두 자동으로 처리할 수 있다.
수동 발급 방식
Certbot 실행 명령
certbot certonly --manual --preferred-challenges dns -d *.example.com -d example.com
DNS TXT 레코드 입력
명령 실행 후 Certbot이 출력하는 TXT 값을 DNS에 직접 입력해야 한다. 전파 시간이 필요하므로 일정 시간을 기다렸다가 계속 진행하면 된다.
DNS API 자동화 방식
Cloudflare API 연동
Cloudflare와 연동하면 TXT 레코드 생성이 자동 처리된다. 설정 파일에 API 토큰을 저장해두면 인증서 발급과 갱신이 모두 자동으로 완료된다.
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini -d *.example.com -d example.com
갱신 자동화
systemd.timer 또는 cron 작업을 등록하여 Wildcard 인증서를 자동 갱신할 수 있다. DNS API로 처리하는 방식은 갱신 시에도 별도의 작업이 필요 없어 운영 효율성이 매우 높다.
Wildcard SSL 적용 시 주의할 점
Wildcard SSL은 강력하지만 몇 가지 유의해야 할 사항이 있다. 루트 도메인 인증서 별도 관리, DNS 전파 시간, API 키 보안 관리 등이 핵심 요소다.
운영 시 주의 사항
DNS 전파 지연 발생 가능성
DNS TXT 레코드 변경 후 전파되기까지 시간이 걸릴 수 있다. 자동화 도구 사용 시 이러한 지연을 고려해 시도 횟수와 대기시간을 적절히 설정해야 한다.
API 키 보안 관리
DNS API를 사용한다면 인증 토큰이 외부에 노출되지 않도록 철저히 관리해야 한다. 파일 권한을 최소화하고, 필요 권한만 부여하는 방식이 안전하다.
루트 도메인 인증서 별도 발급
Wildcard는 루트 도메인을 포함하지 않으므로 반드시 루트 도메인용 인증서를 함께 발급해야 한다. 두 인증서 갱신 주기를 관리하면 전체 서비스의 안정성이 유지된다.