ホーム›SSL / TLS

ERR_SSL_VERSION_OR_CIPHER_MISMATCHの原因|証明書・TLS設定を確認

有効期限だけでなく、閲覧hostnameを証明書が覆っているか、SNIで正しい証明書を返すか、利用者とエッジに共通のTLS version/cipherがあるかを確認します。CDN利用時はedgeとoriginのTLSを分けます。

先に結論

有効期限だけでなく、閲覧hostnameを証明書が覆っているか、SNIで正しい証明書を返すか、利用者とエッジに共通のTLS version/cipherがあるかを確認します。CDN利用時はedgeとoriginのTLSを分けます。

最初の5分でhostnameとTLS終端を特定する

  1. エラーが出る完全なhostname、時刻、端末・ブラウザーを保存する。
  2. apex、www、追加サブドメイン、IPv4/IPv6で結果を分ける。
  3. 実際に返された証明書のSAN、issuer、有効期間、fingerprintを記録する。
  4. CDN/LB/Webサーバーのどこが利用者向けTLSを終端するか確認する。
  5. 対応TLS version、cipher、SNI設定と直前の証明書・DNS変更を確認する。
切り分け:期限・信頼・チェーン・hostname全般はSSL証明書エラー、更新後に古い証明書が混ざる場合はTLS終端ごとの配布確認へ進みます。

症状の範囲から優先候補を絞る

観測優先候補次の確認
特定サブドメインだけSAN coverage・edge certificatehostnameが証明書に含まれるか
古い端末だけTLS/cipher互換利用環境とサービスの対応範囲
一部IPだけ終端ごとの設定差IPv4/IPv6、region、LB listener
CDNを有効化した直後edge証明書の発行・coveragecertificate status、DNS record、hostname
origin直アクセスだけ失敗origin certificate・SNI用途、hostname、virtual host

CDN利用時はedgeとoriginを混同しない

利用者→CDN edgeと、CDN edge→originは別のTLS接続です。Cloudflareは、proxied hostnameがedge証明書に含まれない場合にERR_SSL_VERSION_OR_CIPHER_MISMATCHを避けるため専用のエラーを表示すると説明しています。

  1. 対象DNSレコードがproxiedかDNS-onlyか確認する。
  2. edge certificateのstatusとhostname coverageを確認する。
  3. 利用者が実際に到達するIPv4/IPv6・regionごとの証明書を比較する。
  4. origin側はCDNの暗号化modeと証明書の用途・hostnameを確認する。
  5. 正常化後もTLS安全性評価と期限監視を実施する。

避ける操作

  • 互換性確認なしに古いTLS versionや弱いcipherを有効化する。
  • CDNのOrigin CA証明書を一般ブラウザーへ直接提示する。
  • 証明書、DNS、暗号化mode、redirectを同時変更する。
  • エラー回避のためHTTPへ恒久的に戻す。
  • 秘密鍵や証明書bundleを外部の入力フォームへ貼り付ける。

公式情報

よくある質問

証明書の期限が残っていても発生しますか?

発生します。対象hostnameが証明書に含まれない、SNIで別証明書が返る、エッジ証明書が未発行、共通のTLS versionやcipherがない場合があります。

古いTLSを有効にすれば直りますか?

一時的に表示できても安全性を下げます。利用者とサーバーの対応範囲、必要な互換性、サービスの公式要件を確認し、古いTLSや弱いcipherを安易に戻さないでください。

Cloudflareのorigin証明書をブラウザーへ直接見せてもよいですか?

Origin CA証明書は通常、Cloudflareとorigin間で使うものです。DNSをDNS-onlyへ変えるとブラウザーが信頼しない場合があるため、用途を混同しません。