SSL 証明書は通常 IP アドレスではなくドメイン名に紐づいています。本記事では SSL 証明書と IP の関係・インストールプロセス・証明書の種類の選び方を深く解析し、無料 SSL リソースを推薦してウェブサイトのセキュリティ向上を支援します。
SSL 証明書と IP アドレスの関係
SSL 証明書がドメインに紐づく理由
SSL/TLS 証明書はドメイン名(Common Name または Subject Alternative Names)を検証するように設計されており、IP アドレスではありません。ブラウザはサーバーの IP アドレスではなく、証明書のドメインがアクセスしている URL と一致するかどうかを確認します。IP アドレスは変動したり、CDN やロードバランサーで共有されたりすることがあるため、ドメインへの紐づけがより安定した設計です。
IP アドレス用 SSL 証明書(SAN IP)
稀ではありますが、SSL 証明書は Subject Alternative Names(SAN IP)として IP アドレスを技術的に含めることができます。ホスト名ではなく IP でアクセスする内部ネットワークサーバーや、ドメイン名のない IoT デバイスなどの特殊なシナリオで使用されます。Let's Encrypt などの公開 CA はパブリック IP アドレスの証明書を発行しません。
SSL 証明書の種類と選択ガイド
DV・OV・EV 証明書の説明
SSL 証明書は 3 つの検証レベルがあります。DV(ドメイン検証)はドメイン所有権のみを検証し、数分で発行されます。個人サイト・ブログ・開発環境に適しており、Let's Encrypt や ZeroSSL で無料取得できます。OV(組織検証)はドメインと組織の身元を検証し、より高い信頼性を提供します。EV(拡張検証)は最も厳格な検証を経た証明書です。
ワイルドカードとマルチドメイン証明書
ワイルドカード証明書(*.domain.com)は単一証明書でドメイン配下のすべての第 1 レベルサブドメインをカバーします。マルチドメイン(SAN)証明書は複数の異なるドメインを 1 つの証明書でカバーします。Let's Encrypt は両方をサポートしています。
SSL 証明書のインストールプロセス
Certbot を使用した Let's Encrypt のインストール
Ubuntu/Debian サーバーで apt 経由で Certbot をインストールし(sudo apt install certbot python3-certbot-nginx)、sudo certbot --nginx -d yourdomain.com でドメイン証明書を自動取得・設定し、cron job で自動更新を設定します。Certbot はチャレンジ検証・証明書取得・Nginx/Apache 設定を自動処理し、通常 5 分以内に完了します。
カスタム環境での手動インストール
OpenSSL で CSR を生成し(openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr)、認証局に提出し、署名された証明書と中間 CA バンドルを受け取り、Web サーバーの SSL 設定ブロックに設定します。証明書チェーンが完全であることを確認することが重要です。
よくある質問 Q&A
Q1:同じ SSL 証明書を複数のサーバーで使えますか?
はい。SSL 証明書は移植可能で、ロードバランサー配下の複数サーバーに同じ証明書(証明書ファイル + 秘密鍵)をインストールできます。秘密鍵の保護が重要です。
Q2:SSL 証明書が期限切れになったらどうなりますか?
期限切れになるとブラウザがセキュリティ警告を表示し、ほとんどのユーザーがサイトにアクセスできなくなります。自動更新の設定と証明書の期限監視が不可欠です。
Q3:無料の SSL 証明書を取得するにはどうすればいいですか?
Let's Encrypt と Certbot(Linux サーバー向け)または ZeroSSL の Web インターフェースが最も簡単な方法です。多くのホスティングプロバイダーは無料 SSL 管理機能を内蔵しており、ワンクリックでインストールできます。