インフラ・運用 2025.12.26

本番環境でHTTPS証明書エラー!SSL設定トラブル完全解決ガイド

約6分で読めます

本番環境でSSL証明書エラーが発生した際の原因究明から解決まで、実際のトラブル事例を基に体系的に解説します。

こんな悩みありませんか?

「サイトが突然『この接続ではプライバシーが保護されません』と表示されてアクセスできなくなった」「SSL証明書の更新を忘れていて、クライアントから連絡が来てしまった」「HTTPS設定は完了したはずなのに、なぜかエラーが出る」

本番環境でのSSL証明書トラブルは、Web担当者にとって最も緊張する瞬間の一つです。サイトにアクセスできない状況は、売上機会の損失やユーザーからの信頼失墜に直結するからです。

Fivenine Designでは20年以上の運用実績で様々なSSLトラブルを解決してきました。今回は、実際に遭遇したケースを基に、効率的な解決方法をご紹介します。

よくあるSSL証明書エラーの種類と原因

1. 証明書の期限切れ

症状: 「NET::ERR_CERT_DATE_INVALID」エラー
原因: SSL証明書の有効期限が過ぎている

あるクライアント様では、Let's Encrypt証明書の自動更新が何らかの理由で失敗し、90日後に突然サイトにアクセスできなくなりました。このケースでは、売上に直結するECサイトが3時間停止という深刻な事態となりました。

2. 証明書とドメインの不一致

症状: 「NET::ERR_CERT_COMMON_NAME_INVALID」エラー
原因: 証明書に記載されたドメインと実際のドメインが異なる

# 証明書の対象ドメインを確認
openssl x509 -in certificate.crt -text -noout | grep "DNS:"

WWW付きとWWWなしの設定ミスや、サブドメインの設定漏れが原因となることが多いです。

3. 中間証明書の設定不備

症状: モバイルでは表示されるがPCでエラーになる(またはその逆)
原因: 証明書チェーンが不完全

# Apache設定例
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key
SSLCertificateChainFile /path/to/intermediate.crt

実践的なトラブル解決手順

ステップ1: 現状把握と緊急対応

まず最初に行うべきこと:

  1. SSL Checkerなどのオンラインツールで証明書の状態を確認
  2. エラーメッセージを正確に記録
  3. 複数のブラウザ・デバイスで症状を確認

ある製造業のクライアント様のケースでは、Firefox では正常に表示されるのに Chrome でエラーが出るという症状でした。これは中間証明書の問題で、適切な証明書チェーンを設定することで解決しました。

ステップ2: 原因の特定

# コマンドラインでSSL証明書の詳細を確認
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com

# 証明書の有効期限を確認
openssl x509 -in certificate.crt -dates -noout

ステップ3: 解決策の実装

証明書期限切れの場合:

  • 新しい証明書を取得・インストール
  • 自動更新の仕組みを再構築

ドメイン不一致の場合:

  • 適切なドメインをカバーする証明書に交換
  • ワイルドカード証明書の検討
# Nginx設定例(適切な証明書設定)
server {
    listen 443 ssl;
    server_name example.com www.example.com;
    
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    ssl_trusted_certificate /path/to/chain.pem;
}

予防策:同じトラブルを繰り返さないために

1. 監視体制の構築

証明書の期限監視は必須です。あるクライアント様では、期限の30日前、7日前、当日にアラートメールを送信する仕組みを構築しました。結果として、SSL関連のトラブルがゼロになりました。

2. 自動更新の設定

# Let's Encryptの自動更新設定例
# crontabに追加
0 2 * * 1 /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"

3. テスト環境での事前検証

本番環境での作業前に、必ずステージング環境で動作確認を行います。これにより、設定ミスによる本番停止を防げます

よくある失敗パターンと注意点

失敗例1: 急いで対応して設定を間違える

緊急時こそ、手順書に従って慎重に作業することが重要です。弊社ではSSL証明書更新のチェックリストを用意し、作業漏れを防いでいます。

失敗例2: バックアップを取らずに作業

設定ファイルの変更前には必ずバックアップを取得しましょう。

# 設定ファイルのバックアップ例
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.backup.$(date +%Y%m%d)

失敗例3: DNS設定を見落とす

SSL証明書は正常でも、DNSの設定ミスでアクセスできないケースもあります。証明書とDNS、両方を確認することが大切です。

まとめ:安定したHTTPS環境の実現

SSL証明書のトラブルは、適切な予防策と迅速な対応により解決できます。重要なのは:

  • 定期的な監視体制の構築
  • 自動更新の仕組みの導入
  • 緊急時の対応手順の整備
  • テスト環境での事前検証

これらの対策により、クライアント様のサイトは99.9%以上の稼働率を維持できています。

次にすべきこと

まずは現在のSSL証明書の状態を確認しましょう:

  1. 証明書の有効期限をチェック
  2. 自動更新の設定状況を確認
  3. 監視体制の有無を点検

もしSSLの設定や運用でお困りの点がございましたら、Fivenine Designまでお気軽にご相談ください。20年以上の実績を基に、安定したHTTPS環境の構築をサポートいたします。

この記事をシェア