「SSL Handshake Failed」および「Cloudflare 525」エラーを修正する方法は?

公開: 2022-12-05

SSL Handshake Failed 」および「Cloudflare 525」エラーを修正する方法を知りたいですか? Secure Sockets Layer (SSL) 証明書が WordPress サイトにインストールされている場合、HTTPS を使用してユーザーとサイト間の安全な通信を確保することができます。

SSL 証明書を検証し、Web サイトのサーバーと訪問者のブラウザーとの間の接続を確立する際に、いくつかの問題が発生する可能性があります。

「SSL ハンドシェイクに失敗しました」というエラー メッセージが表示され、その意味がわからない場合でも、心配する必要はありません。

これは、多くの情報を提供しない一般的なエラーです。 ただし、イライラすることもありますが、簡単なプロセスに従うことでエラーを解決することができます。

この記事では、SSL ハンドシェイク、SSL ハンドシェイクの手順、SSL ハンドシェイク失敗エラー、およびその原因について説明します。 次に、エラーを修正するための 7 つの方法を提供します。

SSLハンドシェイクとは?

SSL ハンドシェーク中、ブラウザやサーバーなどのネットワーク上のデバイスは、データを交換する前に、暗号化されたアルゴリズム、キー、および接続に関するその他の情報を交換します。

ブラウザーとサーバーがハンドシェイクを実行するとき、それらを検証するために互いの SSL 証明書を参照するように要求する場合があります。

安全な接続を確立するには、最初に SSL ハンドシェイクを確立する必要があります。そのため、SSL ハンドシェイクとは何か、失敗した場合の対処法を知ることが重要です。

SSL ハンドシェークは、クライアントとサーバーが暗号化アルゴリズムと秘密鍵を設定して、安全な通信とデジタル証明書の交換と検証に使用するときに発生します。

ネットワーク上で動作するクライアントとサーバーは、SSL および TLS プロトコルを使用して安全に通信できます。 TLS プロトコルは SSL に取って代わりましたが、SSL はより一般的な用語です。

SSL ハンドシェイクの手順

SSL ハンドシェークの正確な手順は、クライアントとサーバーが使用している SSL のバージョンによって異なりますが、一般的には次の手順に従う必要があります。

  1. クライアントからのこんにちは: ‌「 client hello 」メッセージには、クライアントがサーバーと通信する際に使用する SSL バージョンなど、暗号化に関する情報が含まれています。 また、「暗号スイート」と呼ばれる、クライアントがサポートする暗号化アルゴリズムについても詳しく説明します。
  2. Hello はサーバーの応答です。‌server hello 」メッセージには、選択された暗号化スイートやデジタル証明書などの重要な情報が含まれています。 また、クライアントの証明書の要求が含まれる場合もあります。
  3. クライアントはサーバーの証明書を検証します。さらに、クライアントとサーバーの両方が後続のメッセージと「終了した」メッセージを暗号化するために使用される秘密鍵を計算できるようにするバイトを含む、いくつかのバイトを送信します。 クライアントに証明書要求を送信するサーバーは、暗号化されたバイト文字列を秘密鍵とデジタル証明書と共に送信します。
  4. サーバーはクライアントの証明書を検証します。この手順を実行するには、クライアント認証を実行する必要があります。
  5. クライアントは「終了しました」と述べます。この「終了」メッセージで、クライアントはハンドシェイクの一部が完了したことを示します。
  6. サーバーは「私も終了しました」と言います: 「終了」メッセージを送信することにより、サーバーはハンドシェイクの一部を完了したことを示します。

ステップ 3 で共有された同じ秘密鍵を使用して、サーバーとクライアントは残りのセッションで暗号化されたメッセージを交換できます。 対称暗号化はこれとして知られています。

すべてが順調に進むと、上記の手順が実行されます。 しかし、そうでない場合はどうなりますか? 次のセクションでは、「SSL Handshake Failed」エラー メッセージとその解決方法について説明します。

SSLハンドシェイク失敗とは?

SSL Handshake Failed エラー メッセージは、クライアントとサーバー間で安全な接続を確立できない場合に発生します。

このエラーは、次の理由で発生する可能性があります。

  • クライアントが間違った日付または時刻を使用しています。
  • クライアント ブラウザの構成が原因で、エラーが発生します。
  • クライアント側の第三者が接続を傍受しています。
  • SSL バージョンは、クライアントとサーバーで同じではありません。
  • クライアントとサーバーは異なる暗号スイートを使用しています。
  • クライアントまたはサーバーに無効な証明書があります。

SSL Handshake Failed エラー メッセージの表示は、クライアント アプリケーションまたは接続しようとしているサーバーによって異なります。

一方、Cloudflare を使用している場合は、SSL Handshake Failed エラーが Cloudflare 525 エラーとして表示されます。

SSL Handshake Failed エラーのいくつかの原因を特定したので、次のセクションでそれを解決するいくつかの方法について説明します。

SSLハンドシェイクの失敗を修正する方法?

「SSL ハンドシェイクに失敗しました」というエラー メッセージには、いくつかの原因が考えられます。 したがって、問題に対する単純な解決策を提供することは不可能です。

その結果、さまざまな方法を使用して、潜在的な問題を 1 ステップずつ調査して解決できます。 SSL Handshake Failed エラーを修正するには、7 つの方法を使用できます。

方法 1: システムの日付と時刻を更新する

最初に取り上げる問題は、最もありそうもない原因の 1 つです。 それでも、コンピュータの時計に問題がある場合は簡単に修正できます。

システムで間違った日付と時刻が使用されている場合、日付と時刻が正しくないと、SSL ハンドシェークに干渉する可能性があります。

あまりにも遠い未来など、システムクロックが実際の時刻と異なるように設定されている場合、SSL 証明書の検証に干渉する可能性があります。

人的エラーまたは設定の誤動作により、コンピューターの時計が正しく設定されていない可能性があります。

システム時刻に問題があるとします。 その場合、正確であることを確認し、必要に応じて更新することをお勧めします。

これを行うには、次の手順に従います。

  1. Windows の設定で [時刻と言語] に移動します。
Windows の設定で [時刻と言語] に移動します
  1. [日付と時刻] に移動し、[今すぐ同期] をクリックして、[時刻を自動的に設定] をオンにします。
[日付と時刻] に移動し、[今すぐ同期] をクリックして、[時刻を自動的に設定] をオンにします。

時計が正しい情報を表示している場合、これが「SSL ハンドシェイクに失敗しました」というエラー メッセージの原因ではないと考えて間違いありません。

方法 2: SSL 証明書が有効かどうかを確認する

SSL 証明書には有効期限が設定されており、検証情報が最新の状態に保たれます。 これらの証明書の有効期間は通常、6 か月から 2 年です。

ブラウザーは失効または期限切れになった SSL 証明書を検出し、結果として SSL ハンドシェークを完了できなくなります。

Web サイトの SSL 証明書が 1 年以上インストールされている場合は、おそらく再発行の時期です。

Qualys などの SSL 証明書チェッカー ツールは、SSL 証明書のステータスを表示できます。

このツールを使用するには、次の手順に従います。

  1. [ホスト名] フィールドにドメイン名を入力します。
  2. [送信] ボタンをクリックします。
[ホスト名] フィールドにドメイン名を入力し、[送信] ボタンをクリックします。

チェッカーがサイトの SSL 構成を分析した後、いくつかの結果を受け取ります。 結果ページを使用して、証明書がまだ有効であるかどうか、および証明書が何らかの理由で取り消されているかどうかを判断できます。

ハンドシェイク エラーを解決し、ウェブサイトと WooCommerce ストアのセキュリティを確保するには、SSL 証明書を更新する必要があります。

方法 3: 最新の SSL/TLS プロトコルをサポートするようにブラウザーを構成する

「SSL ハンドシェイクに失敗しました」というエラーは、ブラウザの設定ミスが原因である可能性があります。 特定のブラウザに問題があると思われる場合は、別のブラウザに切り替えてみてください。

いずれにせよ、これは問題の範囲を絞り込むための出発点として役立ちます。 さらに、すべてのプラグインを無効にして、ブラウザをデフォルト設定にリセットしてみてください。

プロトコルの不一致は、ブラウザに関連するもう 1 つの問題です。 TLS 1.2 のみをサポートできるサーバーと TLS 1.0 のみをサポートできるブラウザーの相互サポート プロトコルはありません。 これにより、SSL ハンドシェイクで不可避の障害が発生します。

ブラウザーが最新の SSL/TLS プロトコルをサポートしていることを確認するには、ブラウザーを構成する必要があります。 これを行うには、次の手順に従います。

  1. コントロール パネルの [インターネット オプション] をクリックして、[インターネットのプロパティ] を開きます。
コントロール パネルの [インターネット オプション] をクリックして、[インターネットのプロパティ] を開きます
  1. [詳細] タブに移動します。
  2. [ TLS 1.2 を使用する]の横にあるチェックボックスをオンにします。

: 通常、[ SSL 2.0使用する] および [SSL 3.0を使用する] の横のボックスをオンにすることはお勧めしません。

  1. [適用] ボタンをクリックし、[ OK ] ボタンをクリックして変更を保存します。
[詳細設定] タブに移動し、[TLS 1.2 を使用する] の横にあるチェックボックスをオンにし、[適用] ボタンをクリックしてから、[OK] ボタンをクリックします。
  1. エラーが解決されたかどうかを確認します。

方法 4: 最近インストールしたプラグインまたは拡張機能を無効にする

ブラウザーの拡張機能やプラグインは、通常、未知の開発者によって開発されているため、悪意のあるコードが含まれている可能性が高くなります。

そのため、これらのいずれかを最近インストールし、SSL ハンドシェイク エラーが発生している場合は、最初のステップとしてアンインストールし、キャッシュと Cookie をクリアする必要があります。

それが完了したら、同じ Web サイトに再接続し、安全な接続を確立できることを確認します。

Chrome で拡張機能をアンインストールするには、次の手順に従います。

  1. ブラウザの右上隅にあるメニュー アイコンをクリックします。
  2. [設定]をクリックします。
メニュー アイコンをクリックし、[設定] をクリックします。
  1. 拡張オプションをクリックします。
拡張機能オプションをクリックします
  1. 最近インストールした拡張機能を選択し、[削除] をクリックします。
最近インストールした拡張機能を選択し、[削除] をクリックします。

方法 5: プロトコルの不一致

SSL ハンドシェイクの問題は、多くの場合、クライアントとサーバー間のプロトコルの不一致が原因である可能性があります。

ハンドシェイクを成功させるには、Web サーバーとブラウザーが SSL/TLS プロトコルの正確なバージョンをサポートしている必要があります。

サーバーがクライアントのプロトコル バージョンよりもはるかに高いプロトコル バージョンで実行されている場合、SSL ハンドシェイク エラーが発生する場合があります。

サーバーが TLS 1.3 を使用しているが、ブラウザーが TLS 1.1 を使用している場合、サーバーは古いバージョンの TLS をサポートしていないため、SSL ハンドシェークが失敗する可能性があります。

これを修正するには、ブラウザをデフォルト設定にリセットし、拡張機能なしで使用する必要があります。 Chrome ブラウザーでこれを行うには、次の手順に従います。

  1. ブラウザの右上隅にあるメニュー アイコンをクリックします。
  2. [設定]をクリックします。
設定をクリックします
  1. [リセットとクリーンアップ] オプションをクリックします。
システムオプションをクリックします
  1. [設定を元のデフォルトに戻す]オプションをクリックします。
[設定を元のデフォルトに戻す] オプションをクリックします。

方法 6: Cloudflare を一時停止して SSL 証明書をテストする

Cloudflare を使用している場合、「SSL ハンドシェイクに失敗しました」というエラーは、Cloudflare と Web サイト間の接続の問題が原因である可能性があります。 これをテストするには、一時的に無効にするのが最も便利な方法です。

幸いなことに、Cloudflare には、サービスを一時的に無効にするためにいつでも使用できる「一時停止」機能があります。

ウェブサイトへのアクセスを回復するには、これを行ったらブラウザのキャッシュをクリアすることをお勧めします。

Cloudflare に連絡して、SSL ハンドシェイク エラーの原因と、それが解決されたかどうかを判断する必要があります。

応答を待っている間は、CDN が無効になっていることを確認して、他のユーザーも Web サイトにアクセスできるようにします。

または、SSL エラーが続く場合は、サーバーの構成エラーが原因である可能性があります。

方法 7: 暗号スイートが一致していることを確認する

SSL ハンドシェークの失敗の原因をまだ特定できない場合は、暗号スイート間の不一致に関連している可能性があります。

簡単に説明すると、暗号スイートは SSL および TLS ネットワーク接続を保護するための一連のアルゴリズムであり、鍵交換データの暗号化、一括暗号化、およびメッセージ認証のためのものを含みます。

サーバーの暗号スイートがCloudflareで使用されている暗号スイートと互換性がない場合、「SSLハンドシェイクに失敗しました」というメッセージが表示される可能性があります。

繰り返しになりますが、Qualys の SSL サーバー テストは、暗号スイート間に不一致があるかどうかを判断するための貴重なツールです。

このツールを使用するには、次の手順に従います。

  1. [ホスト名] フィールドにドメイン名を入力します。
  2. [送信] ボタンをクリックします。
[ホスト名] フィールドにドメイン名を入力し、[送信] ボタンをクリックします。

その後、要約分析ページが表示されます。 [暗号スイート]セクションで、暗号情報を確認できます。

このページを使用して、サーバーでサポートされている暗号とプロトコルを確認できます。 ステータスが「弱い」人は特に注意が必要です。 このセクションには、暗号スイートを構成するアルゴリズムの詳細な説明も含まれています。

この問題を解決するには、Qualys SSL/TLS Capabilities of Your Browser ツールを使用して、結果をブラウザーのサポートと比較します。

結論

この記事では、SSL ハンドシェイクとは何か、SSL ハンドシェイクの手順とは何か、SSL ハンドシェイク失敗エラーとは何か、およびその原因について説明しました。 次に、エラーを修正するための 7 つの方法を提供します。

この記事をお読みいただき、誠にありがとうございます。 コメント欄に質問やコメントを投稿していただければ幸いです。

Facebook と Twitter のページをフォローすると、最新の記事の通知を受け取ることができます。