すべての SSL 記事 SSL と証明書

ワイルドカードSSL証明書の解説

ワイルドカードSSL証明書は、ドメインとそのすべてのサブドメインを1つの証明書で保護します。www.example.comblog.example.comapi.example.comに別々の証明書を取得する代わりに、1つの*.example.comワイルドカードですべてをカバーします。

ワイルドカードの仕組み

ワイルドカード文字*は任意の単一レベルのサブドメインに一致します:

証明書カバーカバーしない
*.example.comwww.example.comblog.example.comapi.example.comanything.example.comexample.com(ベアドメイン)、sub.blog.example.com(ネスト)
*.example.com + example.comすべてのサブドメイン + ベアドメインネストされたサブドメイン
*.sub.example.coma.sub.example.comb.sub.example.comsub.example.comexample.com

主な制限: ワイルドカードは1レベルのみに一致します。*.example.coma.b.example.comをカバーしません

ワイルドカード vs マルチドメイン(SAN)

ワイルドカードマルチドメイン(SAN)
カバー1レベルのすべてのサブドメイン特定のリストされたドメイン
柔軟性任意のサブドメインが自動的に動作各ドメインを明示的にリストする必要あり
新しいサブドメイン即座にカバー新しい証明書が必要
クロスドメインなし(1つのベースドメイン)はい(example.com + other.com
DNS-01が必要✅ はいいいえ(HTTP-01またはDNS-01)

ワイルドカードを使う場合: 多くのサブドメインがある、または頻繁に新しいものを追加する場合。 SANを使う場合: 特定のドメイン/サブドメインの小さな固定セットがある場合。

ワイルドカード証明書を使うべき場面

適したユースケース:

  • 多くのサブドメイン(app.api.docs.blog.staging.など)を運営しており、各サブドメインに別々の証明書を管理したくない場合
  • 新しいサブドメインを頻繁に追加 — 再発行なしで自動的にカバー
  • サブドメイン名が頻繁に変わる開発/ステージング環境

ワイルドカードが適さない場合:

  • 異なるベースドメインをカバーする必要がある(example.com + example.org) — 代わりにSAN証明書を使用
  • サブドメインごとの分離が必要 — 1つのサブドメインの鍵が侵害されると、ワイルドカード証明書はすべてのサブドメインをカバー
  • DNSレコードを変更できない — ワイルドカード発行にはDNSアクセスが必要なDNS-01が必要

セキュリティの考慮事項

ワイルドカード証明書は1つの秘密鍵がすべてのサブドメインを保護することを意味します。鍵が侵害された場合、攻撃者は1つだけでなく任意のサブドメインになりすますことができます。

緩和策:

  • 秘密鍵アクセスを制限 — 必要なサーバーのみが鍵ファイルを持つべき
  • 短命証明書を使用 — Let’s Encryptの90日の有効期間が露出ウィンドウを制限
  • 高セキュリティサブドメインには個別証明書を検討(例:admin.example.comには独自の証明書が妥当)

無料ワイルドカード証明書の取得

Let’s EncryptはDNS-01チャレンジ経由で無料のワイルドカード証明書をサポートしています。ほとんどの競合(ZeroSSL、SSL For Free)はワイルドカードを有料プランに制限しています。

GetHTTPSの場合:

  1. *.example.com(ベアドメインも必要なら + example.com)を入力
  2. GetHTTPSが提供するDNS TXTレコードを追加
  3. DNS伝播を待つ(GetHTTPSが事前チェック)
  4. 検証して証明書ファイルをダウンロード

ワイルドカードの完全ステップバイステップガイド →

ワイルドカード証明書のインストール

通常の証明書と同じです — サーバーはワイルドカードであることを知りません:

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;
}

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>

よくある質問

ワイルドカードにHTTP-01を使えないのはなぜですか?

HTTP-01はhttp://hostname/.well-known/acme-challenge/...にファイルを配置して特定のホスト名を検証します。ワイルドカードは無限のサブドメインをカバーします — ファイルを配置する単一のサーバーがありません。DNS-01はゾーンレベルのTXTレコードを通じてドメイン全体の管理を証明します。

*.example.comexample.comをカバーしますか?

いいえ。ベアドメインは別途リストする必要があります。GetHTTPSとCertbotは1つの証明書で*.example.comexample.comの両方をサポートしています。

ZeroSSLから無料のワイルドカードを取得できますか?

いいえ。ZeroSSLはワイルドカード証明書を有料プラン($10/月以上)に制限しています。Let’s Encryptはワイルドカードを無料で提供しています

同じドメインに複数のワイルドカード証明書を持てますか?

はい。技術的な制限はありません。*.example.com*.staging.example.comを別々の証明書として持つことができます。Let’s Encryptのレート制限は登録ドメインあたり週50証明書です。

ワイルドカード証明書はネストされたサブドメインをカバーしますか?

いいえ。*.example.comwww.example.comapi.example.comをカバーしますが、dev.api.example.comはカバーしません。ネストされたサブドメインには*.api.example.comのような別のワイルドカードが必要です。

ワイルドカード証明書が特定のサブドメインで動作しているかテストするには?

サブドメインのDNSをサーバーに向けてからテスト:

echo | openssl s_client -connect subdomain.example.com:443 -servername subdomain.example.com 2>/dev/null | openssl x509 -noout -subject -dates

証明書はCN=*.example.comまたはSANフィールドに*.example.comを表示するはずです。接続エラーが出る場合、サブドメインのDNSがワイルドカード証明書をホストするサーバーを指していません。

ワイルドカード証明書を複数のサーバーで使えますか?

はい。サブドメインを処理するすべてのサーバーに同じfullchain.pemprivkey.pemをインストールしてください。証明書はどのサーバーにあるか知りません — ホスト名を検証するだけです。

関連記事

はじめに 2026-05-07
無料ワイルドカードSSL証明書の取得方法
GetHTTPSを使用してLet's Encryptから無料のワイルドカードSSL証明書(*.example.com)を取得。DNS-01チャレンジのみ必要。Cloudflare、Route 53、GoDaddy、NamecheapでのDNS設定方法を解説します。
SSL と証明書 2026-05-07
マルチドメインSSL証明書(SAN)
マルチドメインSAN証明書は1つの証明書で複数の異なるドメインを保護します。SANの仕組み、ワイルドカードとの使い分け、GetHTTPSでの取得方法を解説します。
SSL と証明書 2026-05-07
SSL証明書の種類:DV、OV、EVの解説
ドメイン認証(DV)、組織認証(OV)、拡張認証(EV)のSSL証明書を比較。検証の違い、コスト、各タイプが実際に必要な場面を解説します。
ブラウザで無料 SSL 証明書を取得
インストール不要、アカウント不要。秘密鍵は常にデバイスに残ります。
証明書を取得