ERR_SSL_VERSION_OR_CIPHER_MISMATCH 解決方法|Chrome・Edge

ポイント

ERR_SSL_VERSION_OR_CIPHER_MISMATCH(Chromeのエラー -113、「サポートされていないプロトコルが使用されています」)は、TLSハンドシェイクの最初の段階で、ブラウザとサーバーが共通のTLSバージョンや暗号スイートを決められなかったことを示します。原因の多くはサーバー側です。TLS 1.0/1.1にしか対応していない、RC4や3DESなど古い暗号しか提供していない、またはCloudflareやCloudFrontで入力したドメイン名に対応する証明書がない(証明書の有効化待ちやマルチレベルのサブドメインが典型)といったケースです。利用者にできるのはブラウザの更新とウイルス対策ソフトのHTTPSスキャンの確認までで、特定のサイトだけが開けない場合は管理者にしか直せません。

今すぐ確認

ERR_SSL_VERSION_OR_CIPHER_MISMATCH の修正ガイド:ブラウザとサーバー間のSSLハンドシェイク失敗の原因とステップバイステップの解決手順
ERR_SSL_VERSION_OR_CIPHER_MISMATCH の修正ガイド:ブラウザとサーバー間のSSLハンドシェイク失敗の原因とステップバイステップの解決手順
読み始める
  1. ERR_SSL_VERSION_OR_CIPHER_MISMATCH とは?
  2. 各ブラウザでのエラー表示
  3. ERR_SSL_VERSION_OR_CIPHER_MISMATCH の原因
  4. 実際に試してみました:古いTLSのサーバーと最新のクライアント
  5. ERR_SSL_VERSION_OR_CIPHER_MISMATCH の直し方(ユーザー向け)
  6. 修正方法1:サイトの問題かどうかを確認する
  7. 修正方法2:ブラウザとオペレーティングシステムを更新する
  8. 修正方法3:ウイルス対策ソフトのHTTPSスキャンを確認する
  9. 修正方法4:VPNまたはプロキシを切断する
  10. ERR_SSL_VERSION_OR_CIPHER_MISMATCH の直し方(Webサイト管理者向け)
  11. 修正方法1:すべてのドメイン名に証明書があることを確認する
  12. 修正方法2:TLS 1.2 と TLS 1.3 を有効にする
  13. 修正方法3:最新の暗号スイートを提供する
  14. 修正方法4:Cloudflare固有の修正
  15. 修正方法5:その他のCDNとロードバランサーを確認する
  16. SSL設定をテストする方法
  17. 関連するSSL/TLSエラー
  18. よくある質問

ERR_SSL_VERSION_OR_CIPHER_MISMATCH とは?

ERR_SSL_VERSION_OR_CIPHER_MISMATCH は、ブラウザとWebサイトが接続の暗号化方式で合意できなかったことを示すエラーです。 Chromeでは「このサイトは安全に接続できません」「example.com ではサポートされていないプロトコルが使用されています。」と表示され、詳細には「クライアントとサーバーで、共通の SSL プロトコル バージョンまたは暗号スイートがサポートされていません。」と出ます。Chromiumではエラー -113 として定義されています(net_error_list.h)。

このエラーはTLSハンドシェイクの最初の段階で起きます。ブラウザは自分が使えるTLSバージョンと暗号スイートの一覧を送り、サーバーはそれぞれから1つずつ選ばなければなりません。一覧に共通のものがない、ブラウザがもう受け付けないバージョンで応答してくる、あるいは入力されたドメイン名に対応する証明書がなく処理を続けられない場合、ハンドシェイクはそこで止まります。

証明書の検査より前に失敗するため、期限切れ、ドメイン名の不一致、チェーンの不備のある証明書では別のエラーが表示されます(末尾の表を参照)。Firefoxでは、暗号や証明書を理由に拒否された場合は SSL_ERROR_NO_CYPHER_OVERLAP、TLS 1.0/1.1にしか対応していないサーバーでは SSL_ERROR_UNSUPPORTED_VERSION と表示されます。

サイトのTLSバージョンと証明書を確認

各ブラウザでのエラー表示

Chromiumベースのブラウザ(Chrome、Edge、Brave、Opera)はすべて同じコードを表示します。次の表示を探してください。

ブラウザエラーメッセージエラーコード
Chrome、Edge、Brave、Operaこのサイトは安全に接続できません · example.com ではサポートされていないプロトコルが使用されています。ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Firefox(共通の暗号がない、または証明書がない場合)安全な接続ができませんでした · Cannot communicate securely with peer: no common encryption algorithm(s)SSL_ERROR_NO_CYPHER_OVERLAP
Firefox(TLS 1.0/1.1にしか対応していないサーバー)安全な接続ができませんでした · Peer using unsupported version of security protocolSSL_ERROR_UNSUPPORTED_VERSION
SafariSafariはサーバーへの安全な接続を確立できません(表記は未確認)表示なし
curl、Python、その他のOpenSSLクライアントssl/tls alert handshake failure(古いOpenSSLでは sslv3 alert handshake failure)、または unsupported protocol(OpenSSLのエラー)

ERR_SSL_VERSION_OR_CIPHER_MISMATCH の原因

エラーが1つのサイトだけに出る場合、原因はそのサイトのサーバーかCDNです。多くのサイトで出る場合は、お使いの端末やネットワークの途中に何かがあります。原因は次のとおりです。

  • サーバーがTLS 1.0/1.1にしか対応していない。 Chrome、Edge、Firefoxは2020年に両方のブロックを開始し(Firefox 78、ChromeとEdge 84)、Chrome 98(2022年)以降は回避する方法がありません。Chromiumはこうしたサーバーをこのエラーとして報告します(net_error_list.h)。
  • サーバーが古い暗号しか提供していない。 RC4、3DES、輸出グレードの暗号スイートなどです。ChromeのTLSコードは3DESを完全に無効にしているため、ほかに何も提供しないサーバーには接続できません。
  • 入力したドメイン名に対応する証明書がない(一部のCDN)。 CloudflareとCloudFrontでは、証明書のないホスト名はハンドシェイクの最初で拒否されます。Cloudflareではこれが最も多い原因で、証明書がまだ有効化されていない、レコードがプロキシ経由になっていない、カスタム証明書が期限切れで代わりになるものがない、ドメインがマルチレベルのサブドメインである、のいずれかです(Cloudflare)。通常のnginxやApacheのサーバーは代わりにデフォルトの証明書を返すため、ドメイン名の不一致の警告が表示されます。
  • 途中にあるもの。 ウイルス対策ソフトのHTTPSスキャン、社内プロキシ、通信を古いTLS設定で暗号化し直すVPNなどです。
  • とても古い端末やブラウザ。 Windows XP、Android 4.x、何年も更新していないブラウザには、サーバーが現在要求するTLS 1.2や暗号スイートがありません。

実際に試してみました:古いTLSのサーバーと最新のクライアント

このエラーが何で起きるかを示すため、2026年10月27日に最新のTLSクライアント(OpenSSL 3.6)でbadssl.comの公開テストサーバーに接続しました。TLS 1.0と1.1のサーバーはクライアントがもう受け付けないバージョンで応答し、RC4と3DESのサーバーは handshake_failure アラートで拒否しました。Chromeでは4つともERR_SSL_VERSION_OR_CIPHER_MISMATCHと表示されます。

テストサーバー提供している内容結果
tls-v1-0.badssl.com:1010TLS 1.0のみTLS 1.0で応答。クライアントが拒否(protocol_version)
tls-v1-1.badssl.com:1011TLS 1.1のみTLS 1.1で応答。クライアントが拒否(protocol_version)
rc4.badssl.comRC4暗号のみhandshake_failure アラート
3des.badssl.com3DES暗号のみhandshake_failure アラート
tls-v1-2.badssl.com:1012TLS 1.2接続成功(ECDHE-RSA-AES256-GCM-SHA384)

https://tls-v1-0.badssl.com:1010/ をChromeで開くと、まさにこのエラーページが表示されます。ご自身のサイトが最初の4行と同じ状態なら、下のWebサイト管理者向けの修正が当てはまります。

ERR_SSL_VERSION_OR_CIPHER_MISMATCH の直し方(ユーザー向け)

Webサイトのサーバーは利用者には変えられないので、まずどちらの問題かを切り分けます。1つのサイトだけ開けない場合は、管理者にしか直せないため、Webサイト管理者向けの修正へ進んでください。多くのサイトで開けない場合は、次の方法を試します。(古い対処法の「QUICを無効にする」はここでは効果がありません。QUICの失敗では ERR_QUIC_PROTOCOL_ERROR が表示されます。)

修正方法1:サイトの問題かどうかを確認する

同じサイトを別の端末やモバイルデータ通信で開いてみてください。そこでも開けないなら、問題はサーバー側です。

確実に調べるには、DNS RobotのSSL Checkerにサイトを入力します。ほとんどのサーバーについて、対応しているTLSバージョンが一覧で表示され、Cloudflare上のサイトではそのドメイン名の証明書が発行済みかどうかも分かります。TLS 1.0/1.1にしか対応していないサイトは、Chrome、Edge、Firefoxでは開けず、クリックして進める方法もありません。Chromeにはこのエラーで「このまま続行」するリンクが表示されないのです。

修正方法2:ブラウザとオペレーティングシステムを更新する

とても古いブラウザやシステムには、TLS 1.2、TLS 1.3、またはサーバーが現在使っている暗号スイートがありません。Chromeは chrome://settings/help、Edgeは edge://settings/help で更新し、そのあとオペレーティングシステムも更新してください。

Windows XPとVistaのInternet Explorer、およびAndroid 4.0〜4.3の標準ブラウザは、現在の暗号スイートでTLS 1.2を使えず、ほとんどのHTTPSサイトで失敗します。

修正方法3:ウイルス対策ソフトのHTTPSスキャンを確認する

HTTPSをスキャンするウイルス対策ソフト(Avast、Kaspersky、Bitdefender、ESET、Norton)はすべての接続の途中に入り、Webサイトとの間に独自のTLS接続を作ります。そのTLS設定が古いと、最新のTLSを要求するサイトで失敗します。

無効にするのはHTTPSスキャンの部分だけです。名前は製品ごとに異なります(AvastのWeb ShieldのHTTPSスキャン、ESETのSSL/TLSプロトコルフィルタリング、Bitdefenderの暗号化Webスキャン、Kasperskyの暗号化された接続のスキャン)。無効にしたら再読み込みしてください。エラーが消えたら、スキャンを切ったままにせず、ウイルス対策ソフトを更新するか、そのサイトを例外に追加します。

修正方法4:VPNまたはプロキシを切断する

社内プロキシや、Webプロテクション機能やHTTPS検査機能を持つVPNは、サイトとの間に独自のTLS接続を作ります(通常のVPNトンネルは作りません)。切断して再読み込みしてください。サイトが開けたら、その機能をオフにするか、プロバイダー(または社内のIT担当)にTLS設定の更新を依頼してください。

ERR_SSL_VERSION_OR_CIPHER_MISMATCH の直し方(Webサイト管理者向け)

訪問者からこのエラーが報告されるなら、ポート443で応答しているサーバーまたはCDNが、最新のブラウザとTLSで合意できていません。SSL Checkerで確認してから、次の手順に進んでください。

修正方法1:すべてのドメイン名に証明書があることを確認する

Cloudflare、CloudFront、その他一部のCDNでは、証明書のないホスト名はハンドシェイクが拒否され、ブラウザには証明書の警告ではなくこのエラーが表示されます。通常のnginxやApacheのサーバーでは、代わりにデフォルトの証明書が返されて(ERR_CERT_COMMON_NAME_INVALID)、nginxの ssl_reject_handshake を使っている場合は unrecognized_name アラート(ERR_SSL_UNRECOGNIZED_NAME_ALERT)になるのが一般的です。訪問者が使うすべてのドメイン名、つまり example.com、www.example.com、各サブドメインを確認してください。

各ドメイン名をSSL Checkerで調べるか、ターミナルから確認します(OpenSSL 1.1.1以降。「Could not find certificate」と表示されたら、そのドメイン名についてサーバーがハンドシェイクを拒否しています)。

bash
# Does the server present a certificate for this exact name?
openssl s_client -connect example.com:443 -servername www.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName

# Which TLS versions and ciphers does it accept?
nmap --script ssl-enum-ciphers -p 443 example.com

修正方法2:TLS 1.2 と TLS 1.3 を有効にする

現在のブラウザはすべて、少なくとも TLS 1.2 を必要とします。TLS 1.2とTLS 1.3を有効にし、それより古いものは有効にしないでください。

bash
# nginx (site config or nginx.conf)
ssl_protocols TLSv1.2 TLSv1.3;

# Apache (ssl.conf)
SSLProtocol -all +TLSv1.2 +TLSv1.3

# Then check the config and reload
sudo nginx -t && sudo systemctl reload nginx
sudo apachectl configtest && sudo systemctl reload apache2

再読み込みしたら、SSL CheckerかQualys SSL Labsでもう一度テストし、TLS 1.2と1.3だけが提供されていることを確認してください。

修正方法3:最新の暗号スイートを提供する

TLS 1.2を有効にしたら、ブラウザがまだ受け付ける暗号をサーバーが提供する必要があります。AES-GCMまたはChaCha20-Poly1305を使ったECDHE(Mozillaの推奨セット)を提供してください。RC4、3DES、輸出グレード、NULL暗号は拒否されます。

bash
# nginx (TLS 1.2 ciphers; TLS 1.3 ciphers are always on)
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;

# Apache
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off

修正方法4:Cloudflare固有の修正

Cloudflare自身のガイドによると、このエラーはホスト名が証明書でカバーされていないときに起きます(Cloudflare)。次の順に確認してください。

  • 証明書は有効(Active)ですか? 新しいドメインのUniversal SSL証明書は、15分から24時間で発行されます。SSL/TLS → Edge Certificates で、ステータスがActiveになっている必要があります。
  • DNSレコードはプロキシ経由ですか? 証明書が提示されるのは、プロキシ経由(オレンジの雲)のレコードだけです。プロキシ経由の名前をDNS Lookupで調べると、サーバーのアドレスではなくCloudflareのアドレスが返ります。
  • カスタム証明書は期限切れになっていませんか? Cloudflareは期限切れの証明書を削除します。そのドメイン名をカバーするほかの有効な証明書(Universal SSLなど)がない場合、訪問者には証明書の警告ではなくこのエラーが表示されます。
  • マルチレベルのサブドメインですか? フルセットアップでは、Universal SSLがカバーするのは example.com と *.example.com だけで、test.dev.example.com は対象外です。Advancedまたはカスタム証明書、あるいはTotal TLS(Advanced Certificate Managerが必要)を使ってください。

修正方法5:その他のCDNとロードバランサーを確認する

CDNやロードバランサー(CloudFront、Fastly、Akamai、クラウドのロードバランサー)がTLS接続を終端している場合、決め手になるのはサーバーではなくそちらの設定です。

  • すべてのホスト名に証明書があり、正しいディストリビューションやリスナーに紐づいていること
  • セキュリティポリシーの最小TLSバージョンが1.2で、最新の暗号が使われていること
  • 複数のドメインが1つのIPアドレスを共有している場合はSNIに対応していること

SSL設定をテストする方法

変更したら、SSL設定が正しいことを確認してください。次のツールを使えば、訪問者より先に問題を見つけられます。

  • DNS Robot SSL Checker — 証明書のステータス、有効期限、チェーンの完全性、発行元をすばやく確認できます。数秒で結果が出ます。
  • Qualys SSL Labs — TLSバージョン、暗号スイート、プロトコル対応、既知の脆弱性を詳しくスキャンし、アルファベットで評価します(AまたはA+を目指しましょう)。
  • OpenSSL CLI — コマンドラインから openssl s_client -connect domain.com:443 を実行すると、生のハンドシェイク、証明書チェーン、ネゴシエートされた暗号が分かります。
  • Chrome DevTools — 読み込めるページなら、Security(またはPrivacy and security)パネルに使用中のTLSバージョンと暗号が表示されます。
bash
# Quick check: protocol, cipher and certificate in a few lines
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -brief </dev/null

# Does it accept TLS 1.2? TLS 1.3?
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_2 -brief </dev/null
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_3 -brief </dev/null

ChromeにはTLSと証明書に関するエラーがいくつかあり、それぞれ別の段階で発生します。

エラーコード意味主な原因
ERR_SSL_VERSION_OR_CIPHER_MISMATCH共通のTLSバージョンや暗号がない、またはドメイン名に対応する証明書がないTLS 1.0/1.1のみ、RC4/3DESのみ、証明書なし(Cloudflare)
ERR_SSL_PROTOCOL_ERRORハンドシェイクがそれ以外の形で壊れたポート443で平文のHTTP、TLSを壊す中間機器
ERR_CERT_AUTHORITY_INVALID信頼されていない証明書自己署名、プライベートCA、中間証明書の欠如
ERR_CERT_DATE_INVALID証明書が期限切れ、またはまだ有効でない証明書の期限切れ、端末の時計のずれ
ERR_CERT_COMMON_NAME_INVALID証明書がこのドメイン名をカバーしていないexample.com用の証明書で www.example.com を開いた
ERR_SSL_UNRECOGNIZED_NAME_ALERTサーバーが「そのドメイン名は扱っていない」と応答したnginxの ssl_reject_handshake、または一致するserverブロックがない
ERR_SSL_VERSION_INTERFERENCE現在は使われていない:Chromiumが削除(エラー -175)代わりに上のいずれかのコードが表示されます

関連エラーのガイド:ERR_SSL_PROTOCOL_ERROR、ERR_CERT_AUTHORITY_INVALID、この接続ではプライバシーが保護されません。

今すぐSSL証明書をチェック

DNS Robotの無料SSL Checkerなら、多くのサーバーが対応しているTLSバージョン、証明書、カバーしているドメイン名を確認できます。Cloudflare上のサイトでは、そのドメイン名の証明書が発行済みかどうかも分かります。

出典

  1. net_error_list.h (SSL_VERSION_OR_CIPHER_MISMATCH -113), Chromium
  2. openssl_ssl_util.cc (which TLS failures map to -113), Chromium
  3. ERR_SSL_VERSION_OR_CIPHER_MISMATCH, Cloudflare
  4. SSL Configuration Generator, Mozilla

よくある質問

ERR_SSL_VERSION_OR_CIPHER_MISMATCH とはどういう意味ですか?

安全な接続の開始時に、ブラウザとWebサイトが使うTLSバージョンや暗号で合意できず、Chromeが接続を止めたという意味です。Chromeはこれをエラー -113として扱い、サイトが「サポートされていないプロトコルを使用している」と表示します。原因の多くはサーバーにあり、古いTLS、古い暗号、またはCloudflareで該当ドメイン名の証明書がないことなどです。

Chrome で ERR_SSL_VERSION_OR_CIPHER_MISMATCH を直すには?

1つのサイトだけに表示されるなら、利用者には直せず、サイトの管理者がサーバーを直す必要があります。多くのサイトで表示されるなら、ChromeとOSを更新し、ウイルス対策ソフトのHTTPSスキャンを一時停止し、VPNやプロキシを切断してください。各手順のあとに再読み込みして確認します。

サーバーの問題ですか、ブラウザの問題ですか?

たいていはサーバー側です。サーバーがTLS 1.0/1.1しか提供していない、RC4や3DESなど古い暗号しか提供していない、または(CloudflareやCloudFrontで)入力したドメイン名の証明書がない、といった状態です。すべてのサイトで失敗するなら、ご自身のウイルス対策ソフト、HTTPSを検査するVPNやプロキシ、あるいはとても古い端末を疑ってください。

ERR_SSL_VERSION_OR_CIPHER_MISMATCH を回避できますか?

できません。このエラーでは、そもそも安全な接続を確立できないため、Chromeに「このまま続行」のリンクは表示されません。解決方法は、サーバー側で直すか、ウイルス対策ソフト、VPN、古いブラウザが原因なら端末側で直すかのどちらかです。

Edge でこのエラーが出るのはなぜですか?

Edgeは同じChromiumのネットワークコードを使っているため、同じ理由で同じエラーが表示されます。OperaやBraveも同様です。1つのサイトでEdgeもChromeも失敗するなら、原因はそのサイトのサーバーです。

Firefox では、このエラーはどう表示されますか?

共通の暗号や証明書がないためサーバーが拒否した場合は SSL_ERROR_NO_CYPHER_OVERLAP("Cannot communicate securely with peer: no common encryption algorithm(s).")、サーバーがTLS 1.0/1.1しか使えない場合は SSL_ERROR_UNSUPPORTED_VERSION("Peer using unsupported version of security protocol.")と表示されます。

Webサイト管理者は ERR_SSL_VERSION_OR_CIPHER_MISMATCH をどう直しますか?

訪問者が使うすべてのホスト名に証明書があることを確認し、TLS 1.2と1.3だけを有効にして、AES-GCMまたはChaCha20を使った最新のECDHE暗号を提供します。Cloudflareでは、証明書が有効(Active)か、レコードがプロキシ経由か、カスタム証明書が期限内か、ドメインがマルチレベルのサブドメインではないかを確認してください。

Cloudflare が ERR_SSL_VERSION_OR_CIPHER_MISMATCH の原因になりますか?

はい。Cloudflareのドキュメントにもあり、ホスト名が証明書でカバーされていないときにこのエラーが出ます。原因は、Universal SSL証明書の有効化待ち(15分〜24時間)、プロキシ経由になっていないレコード、期限切れのカスタム証明書、test.dev.example.com のようなマルチレベルのサブドメインです。

最新のブラウザが対応しているTLSバージョンは?

Chrome、Edge、Firefox、SafariはTLS 1.2とTLS 1.3に対応しています。Chrome、Edge、Firefoxは2020年にTLS 1.0と1.1のブロックを開始し、Chrome 98以降はブロックを回避する方法がありません。ChromiumはTLS 1.0/1.1のサーバーをERR_SSL_VERSION_OR_CIPHER_MISMATCHとして報告します。

ERR_SSL_PROTOCOL_ERROR との違いは?

ERR_SSL_VERSION_OR_CIPHER_MISMATCHは、Chromeがハンドシェイクの失敗理由を把握しているケースです。共通のバージョンや暗号がない、または最初のメッセージの直後に拒否された場合です。ERR_SSL_PROTOCOL_ERRORは、ポート443に平文のHTTPで応答するサーバーなど、それ以外の壊れたハンドシェイクをまとめて受けるエラーです。

著者について

Shaik Vahid

DNS Robot 創設者. Vahid は長年 Web ホスティングのサポートで、お客様のドメイン、DNS レコード、SSL 証明書、メール配信の問題を解決してきました。DNS Robot のツールを開発し、実際によく起きるエラーをもとにこれらのガイドを書いています。

SSL証明書チェック

SSL証明書の有効性とセキュリティ詳細を検証