2026年7月27日
2026年7月27日
マルチドメインSSL証明書(SAN)を取得する方法
はじめに
マルチドメインSSL証明書(Subject Alternative Name: SAN)は、1つの証明书中で複数のドメインを保護することができます。これにより、多数のサブドメインや異なるウェブサイト間での一貫したセキュリティが可能になります。この記事では、Let's Encryptを使用してマルチドメインSSL証明書を取得し、NginxやApacheサーバーにインストールする手順について解説します。
症状・背景
1. 多数のドメインを持つウェブサイト管理者
異なるドメインやサブドメインを持つ複数のウェブサイトを運営している場合、個別にSSL証明書を作成および管理するのは手間がかかるため、マルチドメインSSL証明書を使用することで一括で証明書を取得できます。
2. サイバーセキュリティの強化
セキュリティ上、全てのウェブサイトにHTTPS接続を適用することが推奨されます。これにより、データの暗号化とプライバシー保護が強化され、信頼性も向上します。
3. コスト削減
個別にSSL証明書を取得すると料金がかかるため、マルチドメインSSL証明書を使用することで費用を節約できます。
手順・設定方法
ステップ1: Let’s Encryptのクライアントをインストール
# Let's EncryptのクライアントであるCertbotをインストールします。
sudo apt update
sudo apt install certbot python3-certbot-nginx # Nginx用のCertbotを使用する場合
# sudo apt install certbot python3-certbot-apache # Apache用のCertbotを使用する場合
# インストールが完了したら、Certbotを実行します。
ステップ2: マルチドメインSSL証明書を取得
# 以下のコマンドでマルチドメインSSL証明書を取得します。ドメインリストはスペース区切りで入力します。
sudo certbot --nginx -d example.com -d sub.example.com -d www.example.com
# Apacheの場合:
# sudo certbot --apache -d example.com -d sub.example.com -d www.example.com
ステップ3: 自動更新設定の確認
# Certbotは自動的に証明書を更新します。確認するには以下のコマンドを使用します。
sudo certbot renew --dry-run
ステップ4: トラブルシュートと監視
# NginxやApacheサーバーのログファイルにエラーメッセージがある場合、その内容を確認して問題を解決します。
sudo tail -f /var/log/apache2/error.log # Apacheの場合
sudo tail -f /var/log/nginx/error.log # Nginxの場合
# 証明書が正常に更新されていることを確認するために、Certbotのログファイルもチェックします。
sudo cat /var/log/letsencrypt/letsencrypt.log
注意事項
- セキュリティ上の注意: 证明书私钥和相关文件必须妥善保管,避免泄露。如果泄露,应及时更换证书。
- パフォーマンス/運用上的注意: 虽然Certbot可以自动更新SSL证书,但频繁的重新加载服务可能会对服务器性能产生影响。因此,在高峰期尽量不要执行自动更新操作。
まとめ
1. マルチドメインSSL証明書の取得: Let's Encryptを使用して複数のドメインに対して一括でSSL証明書を取得します。
2. Certbotのインストール: NginxまたはApache用のCertbotクライアントをインストールします。
3. 証明書取得: Certbotコマンドを使用し、必要なドメイン一覧を指定してマルチドメインSSL証明書を取得します。
4. 自動更新設定確認: Certbotが定期的に証明書を更新するかどうかをチェックします。
関連記事: