와일드카드 SSL 인증서는 하나의 인증서로 도메인과 모든 서브도메인을 보호합니다. 예를 들어 *.example.com은 www.example.com, blog.example.com, api.example.com 및 기타 모든 서브도메인을 각각 나열하지 않고도 보호합니다.
GetHTTPS를 사용하면 Let’s Encrypt에서 와일드카드 인증서를 무료로 받을 수 있습니다. 대부분의 경쟁사(ZeroSSL, SSL For Free)는 와일드카드 인증서를 유료로 제공합니다.
사전 준비 사항
- 와일드카드로 보호하려는 도메인 이름 (예:
example.com) - 도메인의 DNS 설정에 대한 접근 — 와일드카드 인증서는 DNS-01 검증이 필수 (HTTP-01은 와일드카드에 사용할 수 없음)
- 최신 브라우저
왜 DNS-01만 가능한가요? HTTP-01 챌린지는
http://hostname/.well-known/acme-challenge/...에 파일을 배치하여 단일 호스트 이름을 검증합니다. 와일드카드는 무한한 서브도메인을 포함하므로 파일을 배치할 단일 서버가 없습니다. DNS-01은 DNS TXT 레코드를 통해 전체 도메인에 대한 제어를 증명합니다.
1단계: GetHTTPS 열기
gethttps.com/app/setup으로 이동합니다. 계정 키와 인증서 키가 브라우저에서 자동으로 생성됩니다.
2단계: 와일드카드 도메인 입력
*.example.com을 입력합니다(example.com을 본인 도메인으로 교체).
일반적인 설정:
| 입력 내용 | 보호 범위 |
|---|---|
*.example.com | 모든 서브도메인 (www, blog, api 등) |
*.example.com + example.com | 모든 서브도메인 + 기본 도메인 |
*.sub.example.com | sub.example.com의 모든 하위 서브도메인 |
중요: *.example.com 와일드카드 인증서는 example.com 자체(기본 도메인)를 보호하지 않습니다. 둘 다 원하면 example.com을 별도 이름으로 추가하세요 — GetHTTPS가 하나의 인증서에서 모두 처리합니다.
3단계: DNS TXT 레코드 추가
GetHTTPS가 생성할 DNS TXT 레코드를 보여줍니다:
- 레코드 이름:
_acme-challenge.example.com - 레코드 값: 긴 임의 문자열 (매번 다름)
- 레코드 유형: TXT
DNS 제공자에서 이 레코드를 추가합니다:
Cloudflare
- DNS → Records → Add record로 이동
- Type: TXT
- Name:
_acme-challenge(Cloudflare가 도메인을 자동 추가) - Content: GetHTTPS의 값 붙여넣기
- TTL: Auto
- Save 클릭
AWS Route 53
- Hosted zones → 도메인 선택
- Create record 클릭
- Record name:
_acme-challenge - Record type: TXT
- Value:
"값-여기-붙여넣기"(따옴표 포함) - Create records 클릭
GoDaddy
- DNS Management로 이동
- Records 아래에서 Add 클릭
- Type: TXT
- Name:
_acme-challenge - Value: GetHTTPS의 값 붙여넣기
- TTL: 1 Hour
- Save 클릭
Namecheap
- Domain List → Manage → Advanced DNS로 이동
- Add new record 클릭
- Type: TXT
- Host:
_acme-challenge - Value: GetHTTPS의 값 붙여넣기
- TTL: Automatic
- Save all changes 클릭
4단계: DNS 전파 대기
DNS 변경이 전 세계적으로 전파되는 데 1-5분이 걸리며, 제공자와 TTL 설정에 따라 더 오래 걸릴 수 있습니다.
GetHTTPS의 사전 검사 기능이 Google의 DNS-over-HTTPS를 통해 공개 DNS에서 TXT 레코드가 보이는지 확인합니다. 사전 검사가 통과될 때까지 Verify를 클릭하지 마세요.
5단계: 검증 및 다운로드
사전 검사가 DNS 레코드를 확인하면 Verify를 클릭합니다. Let’s Encrypt가 챌린지를 검증하고 와일드카드 인증서를 발급합니다.
네 개의 파일 모두 다운로드합니다:
privkey.pem— 개인키 (비밀 유지)cert.pem— 와일드카드 인증서chain.pem— 중간 인증서fullchain.pem— cert + chain (대부분의 서버에 필요)
6단계: 와일드카드 인증서 설치
설치는 일반 SSL 인증서와 동일합니다. fullchain.pem과 privkey.pem을 사용합니다:
Nginx:
server {
listen 443 ssl http2;
server_name *.example.com example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
}
Apache:
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/cert.pem
SSLCertificateKeyFile /etc/ssl/privkey.pem
SSLCertificateChainFile /etc/ssl/chain.pem
</VirtualHost>
정리
인증서가 발급된 후 DNS에서 _acme-challenge TXT 레코드를 삭제할 수 있습니다. 검증 중에만 필요합니다. 갱신 시 새 레코드를 만들게 됩니다.
와일드카드에 GetHTTPS를 사용하는 이유
대부분의 브라우저 기반 SSL 도구는 와일드카드 인증서에 요금을 부과합니다:
| 도구 | 무료 와일드카드? | 방법 |
|---|---|---|
| GetHTTPS | ✅ 예 | Let’s Encrypt를 통한 DNS-01 |
| ZeroSSL | ❌ 유료만 ($10/월+) | — |
| SSL For Free | ❌ 없음 | — |
| Certbot | ✅ 예 | DNS-01, CLI + root 필요 |
| acme.sh | ✅ 예 | DNS-01, CLI 필요 |
GetHTTPS는 무료 와일드카드 인증서를 제공하는 유일한 브라우저 기반 도구입니다. 설치 불필요, CLI 불필요, root 접근 불필요 — DNS 접근만 있으면 됩니다.
흔한 실수
*.example.com을 추가하고 example.com을 잊음
와일드카드는 서브도메인을 보호하지만 기본 도메인은 보호하지 않습니다. *.example.com만 받으면 https://example.com(www 없이) 방문자에게 인증서 오류가 표시됩니다. 항상 둘 다 추가하세요.
DNS 전파를 기다리지 않음
DNS 변경은 제공자와 TTL 설정에 따라 1-30분이 걸릴 수 있습니다. Verify를 너무 빨리 클릭하지 마세요 — GetHTTPS의 사전 검사가 레코드가 보이는 시점을 알려줍니다.
TXT 레코드 대신 CNAME 레코드 생성
챌린지 레코드는 반드시 TXT 유형이어야 합니다. CNAME, A, AAAA가 아닙니다. 일부 DNS UI는 다른 유형을 기본값으로 합니다 — 저장 전에 확인하세요.
이전 _acme-challenge 레코드를 남겨둠
이전 인증서에서 남은 _acme-challenge TXT 레코드가 있으면 새 레코드를 추가하기 전에 삭제하세요. 같은 이름의 여러 TXT 레코드가 검증을 혼란스럽게 할 수 있습니다.
자주 묻는 질문
*.example.com이 example.com (기본 도메인)을 포함하나요?
아닙니다. *.example.com 와일드카드 인증서는 www.example.com, blog.example.com 등을 포함하지만 example.com 자체는 포함하지 않습니다. GetHTTPS에서 *.example.com과 example.com을 모두 추가하여 둘 다 보호하세요.
a.b.example.com 같은 하위 서브도메인을 포함하나요?
아닙니다. *.example.com은 한 수준의 서브도메인만 포함합니다. *.sub.example.com이 필요하면 별도의 와일드카드가 필요합니다.
ZeroSSL에서 무료로 와일드카드 인증서를 받을 수 있나요?
아닙니다. ZeroSSL은 와일드카드 인증서를 유료 플랜으로 제한합니다. Let’s Encrypt(GetHTTPS를 통해)는 와일드카드 인증서를 무료로 제공합니다.
얼마나 자주 갱신해야 하나요?
90일마다, 다른 Let’s Encrypt 인증서와 동일합니다. 각 갱신마다 새 DNS TXT 레코드를 만들어야 합니다. 다가오는 47일 유효 기간 제한(2029년까지)으로 갱신이 더 빈번해질 것입니다.
DNS-01은 안전한가요? DNS를 수정하는 건데요.
네. TXT 레코드만 추가하는 것이므로 웹사이트 트래픽, 이메일 또는 다른 DNS 레코드에 영향을 주지 않습니다. _acme-challenge 서브도메인은 ACME 검증을 위해 특별히 설계된 것입니다.