「SSL Handshake Failed」を修正する方法: 総合ガイド
公開: 2023-04-05「 Cloudflare 525 」と表示されることが多い「 SSL Handshake Failed 」というエラーメッセージが画面に表示された場合、ほとんどのユーザーはそれに慣れていない可能性があります。 ただし、名前自体は、問題が何であるかについての手がかりを提供します。
実生活では、誰かとの契約を確定するときによく握手します。 同じ概念が SSL 証明書にも当てはまります。SSL ハンドシェイクは、ユーザーのデバイスと Web サーバー間で安全な接続を確立するために発生するプロセスです。
WordPress サイトに SSL 証明書をインストールすると、HTTPS を使用して安全な接続が確立されます。 ただし、さまざまな理由により、Web サイトのサーバーとブラウザーの間でこの接続を確立する際に問題が発生する可能性があります。
しかし、心配することは何もありません! 良いニュースは、それを修正するために試すことができるいくつかの解決策があることです.
この記事では、「SSL ハンドシェイクに失敗しました」エラーを解決し、安全かつ確実に Web を閲覧できるようにするための手順を順を追って説明します。 始めましょう!
読む: SSL とは? そして、あなたがそれについて知る必要があるすべて
SSLハンドシェイクとは何ですか?

SSL ハンドシェイクは、HTTPS を使用して Web サイトにアクセスしようとしたときに発生するプロセスです。 これは、Web サイトのサーバーとブラウザーの間に安全な接続を確立するセキュリティ プロトコルに従います。
このプロセス中に、ブラウザとサーバーは一連のメッセージを交換して一連の暗号化ルールに同意し、一意のセッション キーを生成します。
セッションキーが生成されると、ブラウザとサーバー間で送信されるすべてのデータを暗号化するために使用されます。
ハンドシェイク プロセスは、データの暗号化を可能にし、ハッカーが Web サイトから機密情報を傍受して盗むのを防ぐため、非常に重要です。
読む:機密情報を保護することの重要性
また、SSL ハンドシェイクに失敗したというエラー メッセージは、通信しようとしているクライアント アプリケーションまたはサーバーによって異なることに気付くかもしれません。
たとえば、Cloudflare を使用している場合、SSL ハンドシェイクの失敗エラーは次のように表示されることがあります。

SSL ハンドシェイクに失敗したというメッセージが表示される理由は何ですか?
SSL ハンドシェイクとは何かを学習したので、「SSL ハンドシェイクに失敗しました」というエラー メッセージが表示される場合があります。 このメッセージは、ブラウザとサーバーが互いに通信するための安全な接続を確立できなかったことを示しています。
SSL ハンドシェークの失敗には、クライアント側で発生するかサーバー側で発生するかに関係なく、複数の理由が考えられます。 ただし、最も一般的な理由のいくつかを以下に示します。
クライアント側の原因:
システム時刻が正しくない:デバイスの日付、時刻、またはタイムゾーンが正しくない場合、SSL 証明書が無効に見え、ハンドシェイクが失敗する可能性があります。
ファイアウォールまたはプロキシの干渉: ファイアウォールとプロキシが SSL 接続をブロックしたり、SSL ハンドシェイクを妨害したりして、失敗する可能性があります。
ブラウザの問題: 古いブラウザでは、SSL ハンドシェイクが失敗する可能性があります。
ネットワーク接続の問題:ネットワーク接続の問題 (弱いまたは不安定なインターネット接続など) により、SSL ハンドシェイクが失敗する場合があります。
サーバー側の原因:
無効な SSL 証明書: SSL 証明書の有効期限が切れているか、自己署名されているか、信頼できる認証局によって発行されていない場合、SSL ハンドシェイクは失敗する可能性があります。
互換性のない SSL/TLS バージョン:クライアントとサーバーが共通の SSL/TLS バージョンに同意できない場合、ハンドシェイクが失敗する可能性があります。
サーバー構成の問題:サーバーの SSL 構成が正しくない場合、ハンドシェークが失敗することがあります。 これには、暗号スイート、プロトコル、または証明書チェーンに関する問題が含まれる場合があります。
SSLハンドシェイクの失敗またはCloudflare 525エラーを修正する方法?
前述したように、SSL Handshake Failed エラーを引き起こす可能性がある多くの理由が考えられます。 したがって、SSL Handshake Failed エラーを修正する方法を決定するのは困難です。
ただし、何も行動できないわけではありません。 SSL Handshake Failed エラーの潜在的な主な原因を特定し、段階的に修正する方法はいくつかあります。
SSL Handshake Failed エラーを修正するための最良の方法を次に示します。
- システムの日付と時刻を確認して更新する
- 別のブラウザで試す
- SSL証明書の信頼性と有効性を確認してください
- 最新の SSL プロトコルでブラウザを確認してください
- サーバーとブラウザが暗号スイートをサポートしているかどうかを確認してください。
- サーバーが SNI をサポートするように正しく構成されているかどうかを確認します。
1. システムの日付と時刻を確認して更新する
これは、SSL Handshake Failed エラーが発生するとは誰も予想しない最も簡単な方法の 1 つです。 PC の日付と時刻がリアルタイムとうまく同期されていないか、正しく構成されていない場合、SSL ハンドシェイク失敗エラーが発生する可能性があります。
PC またはシステムの日付と時刻が現在またはリアルタイムと異なる場合、システムの時刻と日付が正しくないと、SSL ハンドシェークが中断される可能性があります。 これは、SSL 証明書には有効期間があり、有効期限を過ぎると無効な証明書の問題が発生するためです。
2. 別のブラウザで試す
また、ウェブサイトへのアクセスに使用しているブラウザに問題がある可能性もあります。 これは、ブラウザの設定、プラグインのインストールの失敗、またはその他の要因が原因である可能性があります。 したがって、ブラウザが問題の原因であるかどうかを確認するには、別のブラウザに切り替えてみてください。
Google Chrome を使用して Web サイトにアクセスし、SSL ハンドシェイクに失敗したというエラーが発生したとします。 ただし、Firefox や Brave などの別のブラウザーでは、同じ Web サイトが正常に機能します。
この場合、Google Chrome または使用していたブラウザをデフォルト設定にリセットし、インストールされているすべてのプラグインまたは拡張機能を削除してみてください。
その後、Web サイトに接続し、プラグインまたは拡張機能を 1 つずつ有効にして、Web サイトに接続できるかどうかを確認してください。 このようにして、ブラウザの問題を正確に把握し、修正することができます。
3. SSL 証明書の信頼性と有効性を確認する
SSL 証明書には、検証情報の信頼性と正確性を確保するための有効期間または有効期限が設定されています。 有効性情報に問題がある場合、または有効期限を超えている場合、ブラウザはサーバーとのハンドシェイクを実行しないことを検出します。
通常、Web サイトの SSL 証明書の有効期間は 6 ~ 12 か月です。 Web サイトに SSL 証明書をインストールしてから有効期限が過ぎている場合は、新しい SSL ライセンスを更新または購入する時期です。
Web サイトの SSL 証明書の有効性を確認する最も簡単な方法の 1 つは、 Qaulys のオンライン ツールSSL Checkerを使用することです。

このツールは信頼性が高く、信頼性が高く、完全に無料で使用できます。 「ホスト名」セクションにウェブサイトの URL を入力し、「送信」ボタンをクリックするだけです。
このツールは、Web サイトの SSL 証明書をチェックして分析し、結果を表示します。
4. 最新の SSL プロトコルでブラウザを確認してください
すでに述べたように、SSL ハンドシェイクの失敗は複数の理由で発生する可能性があります。 この問題を解決する唯一の効果的な方法は、考えられる原因を取り除くことです。 このエラーの最も一般的な理由の 1 つは、ブラウザーの構成ミスです。
別のブラウザを使用して Web サイトに接続し、プラグインを無効にすることもお勧めしますが、これで問題が解決しない場合があります。 プロトコルの不一致が原因で、SSL ハンドシェイクの失敗エラーを引き起こす可能性があるブラウザ関連の問題がある可能性があります。
これを理解するために、例を考えてみましょう: 使用しているブラウザが TLS 1.1 のみをサポートしているが、サーバーが TLS 1.2 および 1.3 の最新バージョンをサポートしている場合、接続を確立できず、結果として SSL ハンドシェイク エラーが発生します。
この場合、ブラウザを利用可能な最新バージョンに更新する必要があります。 通常、新しい更新プログラムは、リリースされた最新の TLS を有効にします。 ただし、更新された場合は、注意が必要なことがあります。 最新の TLS バージョンをサポートするようにブラウザーが適切に構成されていることを確認する必要があります。

これを確認するには、同じ SSL チェッカー ツール「 Qualys 」を利用できます。
ステップ 1 : Qualys の ssllabs.com にアクセスします。
ステップ 2:プロジェクト タブに移動します。

ステップ 3: SSL クライアント テストリンクをクリックします。
ステップ 4: [プロトコル サポート] セクションに、ブラウザが TLS の最新バージョンをサポートしているかどうかを示すメッセージが表示されます。
5. サーバーとブラウザが暗号スイートをサポートしているかどうかを確認します。
SSL ハンドシェイクに失敗したというエラーが発生するもう 1 つの一般的な理由は、クライアントとサーバーが同じ暗号スイートに従っていないか、暗号スイートの不一致の問題がある場合です。
暗号スイートとは何ですか?
暗号スイートは、ネットワーク接続を保護するために使用される暗号化アルゴリズムのセットです。 クライアントとサーバー間の安全な接続を確立するために、SSL/TLS ハンドシェーク中にネゴシエートされる暗号化、メッセージ認証、およびキー交換方法が含まれます。
Qualys の同じ SSL チェッカー ツールを使用して、クライアントとサーバーの両方の暗号スイートを比較できます。 これを行うには、次のことだけを行う必要があります。
ステップ 1: SSLLabs.comにアクセスし、 [Project Tabs]をクリックします。
ステップ 2: SSL クライアント テストをクリックします。
ステップ 3: Cipher Suits セクションの下に完全なリストが表示されます。
ステップ 4:次に、新しいタブを開く > SSLLabs.com を開く > Project Tabs をクリックします。
ステップ 5:次に、 [SSL サーバー テスト]リンクをクリックします。
ステップ 6:アクセスしようとしていた Web サイトのドメイン名を入力すると、SSL ハンドシェイクに失敗したというエラーが表示されました。 続いて、送信ボタンをクリックします。
ステップ 7:下にスクロールして、サーバーがサポートする暗号スーツの完全なリストを表示します。

次に、ブラウザとサーバーが同じ暗号スーツをサポートしているかどうかを確認する必要があります。
6. サーバーが SNI をサポートするように正しく構成されているかどうかを確認します。
SNI (Server Name Indication) の設定ミスが原因で、SSL ハンドシェークの失敗エラーが発生することもあります。
SNI (Server Name Indication) は、単一の IP アドレスから HTTPS 経由で複数のドメインを提供できるようにする TLS プロトコル拡張です。 これは、TLS ハンドシェイク中に要求された Web サイトのホスト名を識別することによって機能し、サーバーが適切な SSL/TLS 証明書を提示できるようにします。
サーバーでホストされている各 Web サイトには、独自の SSL 証明書があります。 ただし、サーバーで SNI が有効になっていない場合は、SSL ハンドシェークの失敗エラーが発生する可能性があります。 これは、サーバーが正しい証明書を判別できないためです。
サーバーで SNI が有効になっているかどうかは、次の 2 つの方法で確認できます。
- Qualys によるSSL チェッカー ツールの使用
- OpenSSL ツールキットの使用。
Qualys の SSL チェッカー ツールを使用して、サーバーが SNI を使用しているかどうかを確認する
上記のセクションで行った手順と同様に、 Ssllabs.com を開き、ドメインを入力し、[送信] ボタンをクリックします。

結果ページでは、下部に「このサイトは SNI をサポートするブラウザでのみ動作します」というメッセージとともに成績が表示されます。
OpenSSL ツールキットを使用してサーバーが SNI を使用しているかどうかを確認する
1. コマンド プロンプトまたはターミナル ウィンドウを開きます。
2. 次のコマンドを入力します。
openssl s_client -connect サーバー名:443 -サーバー名 ドメイン名
注: 「servername」をテストするサーバーの名前に置き換え、「domainname」をテストするドメインの名前に置き換えます。
3. Enter を押してコマンドを実行します。
SNI が有効になっている場合は、指定したドメインの SSL/TLS 証明書の詳細が表示されます。 SNI が有効になっていない場合は、サーバー上のデフォルト ドメインの証明書の詳細が表示されることがあります。
コマンドが接続に失敗した場合は、ファイアウォールまたはその他のネットワークの問題が原因であるか、サーバーが SNI をサポートしていない可能性があります。 このような場合は、サーバー管理者に連絡して支援を求める必要があります。
まとめ
SSL ハンドシェイクは、Web サイト接続を保護し、機密情報を保護するために不可欠なプロセスです。 SSL ハンドシェイクが失敗すると、接続の問題が発生し、Web サイトが攻撃に対して脆弱になる可能性があります。
SSL ハンドシェイク エラーの原因と症状を理解し、適切な解決策を実装することで、ユーザーに安全で信頼性の高い Web サイト接続を確保できます。
さらに、SSL 証明書の定期的なメンテナンスと更新は、Web サイトのセキュリティを維持し、SSL ハンドシェイク エラーを回避するために不可欠です。 Web サイトとそのユーザーを保護するために、SSL セキュリティを維持するために、用心深く積極的に対応することが重要です。
よくある質問
SSL ハンドシェイク エラーの原因は何ですか?
SSL ハンドシェイク エラーの原因は次のとおりです。
1. システム時刻が正しくない
2.ファイアウォールまたはプロキシの干渉
3. ブラウザの問題
4. ネットワーク接続の問題
5. 無効な SSL 証明書
6. 互換性のない SSL/TLS バージョン
7. サーバー構成の問題
SSL ハンドシェイクの失敗とは何ですか?
SSL ハンドシェークの失敗は、ブラウザーが Web サイトとの安全な接続を確立できなかったときに発生するエラーです。 これは、SSL 証明書の有効期限が切れている、システムの時刻と日付が正しくない、サーバー構成の問題などの理由で発生する可能性があります。
SSL ハンドシェイクの完全な形式は何ですか?
SSL ハンドシェイクの完全な形式は、「Secure Sockets Layer ハンドシェイク」です。 これは、Web サーバーとブラウザーの間で送信されるすべてのデータを確実に暗号化するのに役立つ最新のテクノロジーであり、権限のない第三者が機密情報を傍受または盗むことをより困難にします。