Home
home
🏡 홈
home

macOS / Ubuntu에서 Let’s Encrypt 와일드카드 SSL 인증서 발급 방법 (Certbot + DNS 인증)

분류
개발지식
태그
Server
BACKEND
Linux
Mac
작성자
작성일
2026/01/02 00:29

1. 개요

Let’s Encrypt는 무료로 SSL 인증서를 발급해주는 인증 기관(CA)이며,
와일드카드 인증서(*.example.com) 를 발급하려면 반드시 DNS 인증 방식을 사용해야 한다.
이 글에서는 다음 내용을 다룬다.
macOS / Ubuntu에서 Certbot 설치
DNS 인증 방식으로 와일드카드 SSL 발급
주 도메인 + 서브 도메인 모두 적용되는 방법
발급된 인증서 위치
실제 운영 시 주의사항

2. 왜 DNS 인증 방식이 필요한가?

인증 방식
와일드카드 지원
HTTP-01
불가
TLS-ALPN-01
불가
DNS-01
가능
와일드카드(*.example.com)는 DNS-01 방식만 가능하며,
TXT 레코드를 직접 추가해 소유권을 증명해야 한다.

3. Certbot 설치

macOS (Homebrew 기준)

brew install certbot
Bash
복사
설치 확인:
certbot --version
Bash
복사

Ubuntu (20.04 / 22.04 기준)

sudo apt update sudo apt install certbot -y
Bash
복사
설치 확인:
certbot --version
Bash
복사

4. 와일드카드 SSL 발급 (공통)

잘못된 예시 (와일드카드만 지정한 경우)

sudo certbot certonly \ --manual \ --preferred-challenges dns \ --key-type rsa \ -d *.example.com
Bash
복사
이 경우 루트 도메인(example.com) 에는 SSL이 적용되지 않는다.

권장 방식 (주 도메인 + 와일드카드 모두 적용)

sudo certbot certonly \ --manual \ --preferred-challenges dns \ --key-type rsa \ -d example.com \ -d *.example.com
Bash
복사
이 명령어 하나로
example.com
www.example.com
api.example.com
admin.example.com
모든 서브 도메인을 커버할 수 있다.

5. DNS 인증 절차 (중요 )

명령어 실행 후 아래와 같은 메시지가 출력된다.
Please deploy a DNS TXT record under the name: _acme-challenge.example.com with the following value: xxxxxxxxxxxxxxxxxxxxxxxx
Plain Text
복사

해야 할 일

1.
도메인 DNS 관리 페이지 접속 (Cloudflare, Route53, 가비아, 카페24 등)
2.
TXT 레코드 추가
항목
타입
TXT
이름
_acme-challenge
certbot이 제공한 문자열
TTL
300 또는 기본값
1.
DNS 전파 대기 (보통 30초 ~ 5분)
2.
Enter 키 눌러 진행

6. 인증서 발급 위치

macOS / Ubuntu 공통

/etc/letsencrypt/live/example.com/
Bash
복사
구성 파일:
파일명
설명
fullchain.pem
인증서 전체 체인
privkey.pem
개인키
cert.pem
도메인 인증서
chain.pem
중간 인증서

7. 웹서버 적용 예시

Nginx 예시

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Plain Text
복사

Apache 예시

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Plain Text
복사

8. 자동 갱신에 대한 주의사항

DNS 인증 방식은 자동 갱신이 기본적으로 불가능하다.

이유

갱신 시마다 TXT 레코드를 다시 추가해야 함

해결 방법

DNS API 사용 (Cloudflare, Route53 등)
certbot-dns-cloudflare 같은 플러그인 사용
운영 환경에서는 DNS API 방식 자동화를 강력 추천

9. 정리

macOS / Ubuntu 모두 동일한 방식으로 와일드카드 발급 가능
와일드카드는 DNS-01 인증만 가능
주 도메인 + 와일드카드를 반드시 함께 지정
/etc/letsencrypt/live/ 경로에서 인증서 관리
운영 서버라면 DNS API 기반 자동 갱신 필수

10. 이런 분들께 추천

서브도메인을 많이 사용하는 서비스
Docker / Kubernetes / Reverse Proxy 환경
개인 프로젝트, 스타트업, 운영 서버