CSR.pluscsr.plus
← 記事一覧へ戻る
トラブルシューティング2026-08-15•4 分で読める

証明書チェーン不完全: 中間証明書欠落の修正方法

· CSR.plus チーム

証明書チェーン不完全: 中間証明書欠落の修正方法
  • •チェーンエラーはほぼ常に、ブラウザが検証に必要とする中間証明書をサーバーが送っていないことを意味します。
  • •修正方法は 1 つの連結ファイル: リーフ + 中間証明書を正しい順序で。
  • •SSL Labs 風のチェックと、訪問者が実行するのと同じ openssl コマンドで検証します。
チェーンエラー
症状
一部のクライアントのみ
ファイル欠落
根本原因
中間証明書が未送信
約5分
修正時間
チェーン取得後
openssl
検証
s_client + 証明書チェーン

チェーンが壊れる理由

ブラウザはルートを信頼するから証明書を信頼します。リーフ証明書はブラウザの信頼ストアにない中間証明書で署名されているため、サーバーは握手中にそれを送る必要があります。サーバー設定がリーフのみを指しているか、連結ファイルの順序が誤っている場合、中間証明書をキャッシュしていないクライアントは「チェーン不完全」「unable to get local issuer certificate」または NET::ERR_CERT_AUTHORITY_INVALID で失敗します。

Nginx と Apache での修正方法

CA(または証明書の Authority Information Access 拡張の途中端末)から完全なチェーンバンドルを取得します。cat yourdomain.com.crt intermediate.crt root.crt > fullchain.crt — リーフを先頭に、中間証明書を順に、ルートを最後に。Nginx では ssl_certificate を fullchain ファイルに指定。Apache では SSLCertificateChainFile を設定(または SSLCertificateFile にチェーンを含める)。その後リロード。

修正の検証

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -showcerts 2>&1 | grep -A1 "Certificate chain" を実行。リーフの後に中間証明書が見えるはずです。openssl verify -CAfile root.pem fullchain.crt は「fullchain.crt: OK」と出力するはず。クリーンなブラウザプロファイルと外部チェーンチェッカーでも再テスト。

FAQ

なぜ一部のブラウザでは動いて他では動かないのか?

CT ログやキャッシュから中間証明書を最近取得したクライアントは、それがなくても検証できます。他のクライアントはできません。修正方法は同じ: 完全なチェーンを送信すること。

CDN はこの問題を隠しますか?

いいえ — CDN は独自の証明書で TLS を終端します。リーフだけをアップロードすると、同じ壊れたチェーンが訪問者に転送されます。

UptimeRobot

SSL と稼働状況を無料で監視

UptimeRobot が証明書とエンドポイントを 24 時間 365 日監視——無料プランで 50 モニター。

UptimeRobot を無料で試す

アフィリエイトリンク——追加費用なしで当サイトが手数料を受け取ることがあります。

無料の SSL/TLS ツール

数秒で証明書を検証・検査。

関連記事