ワイルドカードSSL証明書は、ドメインとすべてのサブドメインを1つの証明書で保護します。例えば、*.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は1つの証明書で両方を処理します。
ステップ3:DNS TXTレコードを追加
GetHTTPSが作成すべきDNS TXTレコードを表示します:
- レコード名:
_acme-challenge.example.com - レコード値: 長いランダム文字列(毎回異なる)
- レコードタイプ: TXT
DNSプロバイダーでこのレコードを追加してください:
Cloudflare
- DNS → レコード → レコードを追加
- タイプ:TXT
- 名前:
_acme-challenge(Cloudflareがドメインを自動追加) - 内容:GetHTTPSの値を貼り付け
- 保存をクリック
AWS Route 53
- ホストゾーン → ドメインを選択
- レコードを作成をクリック
- レコード名:
_acme-challenge - レコードタイプ:TXT
- 値:
"paste-value-here"(引用符を含める) - レコードを作成をクリック
GoDaddy
- DNS管理
- レコード下の追加をクリック
- タイプ:TXT、名前:
_acme-challenge、値:GetHTTPSの値を貼り付け - 保存をクリック
Namecheap
- ドメインリスト → 管理 → 高度なDNS
- 新しいレコードを追加をクリック
- タイプ:TXT、ホスト:
_acme-challenge、値:GetHTTPSの値を貼り付け - すべての変更を保存をクリック
ステップ4:DNS伝播を待つ
DNS変更はプロバイダーとTTL設定により、グローバルに伝播するまで1〜5分かかります。
GetHTTPSの事前チェック機能が、Let’s Encryptに送信する前にTXTレコードが見えることを確認します。事前チェックに合格するまで待ってから検証をクリックしてください。
ステップ5:検証とダウンロード
事前チェックでDNSレコードが確認されたら、検証をクリックします。Let’s Encryptがチャレンジを検証し、ワイルドカード証明書を発行します。
4つのファイルすべてをダウンロードします:
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>
なぜワイルドカードに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 のワイルドカード証明書は www.example.com、blog.example.com などをカバーしますが、example.com 自体はカバーしません。GetHTTPSで *.example.com と example.com の両方を追加して、両方をカバーしてください。
a.b.example.com のようなサブサブドメインをカバーしますか?
いいえ。*.example.com は1レベルのサブドメインのみをカバーします。*.sub.example.com には別のワイルドカードが必要です。
更新はどのくらいの頻度で必要ですか?
90日ごとで、他のLet’s Encrypt証明書と同じです。更新ごとに新しいDNS TXTレコードを作成する必要があります。2029年の47日間の有効期限制限により、これはより頻繁になります。
DNS-01は安全ですか?DNSを変更するのですが。
はい。TXTレコードを追加するだけで、Webサイトのトラフィック、メール、その他のDNSレコードには影響しません。_acme-challenge サブドメインはACME検証専用に設計されています。