「ERR_SSL_PROTOCOL_ERROR」エラーに遭遇し、WordPressサイトを安全な接続で読み込むことができないという状況にいる方は、この記事がお役に立てるはず。
今回は「ERR_SSL_PROTOCOL_ERROR」エラーの概要と解決方法をご紹介します。
このエラーは、ウェブサイトのサーバーまたはローカルコンピュータの問題、あるいはその両方が原因になっている可能性があります。基本的にはChromeでよく見られるエラーですが、他のブラウザで発生することもあり、表示方法が異なる場合があります。
Added:
Added:
「ERR_SSL_PROTOCOL_ERROR」エラーとは
「ERR_SSL_PROTOCOL_ERROR」エラーは、ウェブサイトのSSL証明書の設定に誤りがあるか、有効でない場合に発生します。ブラウザが暗号化されたサイトとの安全な接続を確立できない場合にも、このエラーが表示されます。
安全な接続とは
安全な接続で読み込まれるウェブページとはどんなものか、今ひとつぴんとこない─そんな方のために、背景となる情報を少しご説明します。
ウェブサイトのアドレスは通常HTTPまたはHTTPSで始まります。これらはプロトコルと呼ばれ、ウェブページがサーバー(ウェブサイトの位置する場所)からブラウザへどのように送信されるかを決定する一連のルールです。HTTPSはHTTPに基づいた安全なプロトコルであり、SEOの向上や高いレベルのセキュリティなど、多くの重要なメリットがあるため、広く使用されています。
HTTPS接続の欠点は、安全なウェブページを表示するには多くの厳格なルールに従わなければならないという点です。つまり、安全性の低いHTTP接続と比較して、問題が発生する可能性が高いと言えます。
HTTPSでサイトが正しく表示されるための要件の一つは、有効なSSL証明書がインストールされ、正しく設定されていることです。無効なSSL証明書は問題を引き起こし、サイトへのユーザーのアクセスを妨げることがあります。例えば、「この接続ではプライバシーが保護されません」というエラーが発生することがあります。
SSL証明書が正常に機能している場合、ブラウザ画面のウェブサイトアドレスの横にあるTuneアイコンをクリックすると、南京錠のアイコンとサイトが安全な接続で読み込まれており、サイトからサーバーへの全ての情報送信(フォームの送信など)が安全に行われることを示すメッセージが表示されます。
最近では多くのサイト訪問者が、サイト上の全てのページでHTTPS接続を利用できることを期待するようになりました。サイト上の安全なページが管理画面、ログイン画面、ショッピングカートなど特定のページに限られていたのは、もう過去の話です。
以前は、SSL証明書の費用が高かったため、サイト全体で安全な接続を使用することは不必要(それどころか「徹底しすぎ」とも)であると考えられていました。現在は違います。無料のSSL証明書が手軽に利用できるようになったため、HTTPSが標準的なプラクティスとなっています。
「ERR_SSL_PROTOCOL_ERROR」エラーの解決方法(10種類)
それでは、ここからは「ERR_SSL_PROTOCOL_ERROR」エラーの解決策をご紹介します。解決するまで以下の順にトラブルシューティングを行ってみてください。
なおこのエラーの原因は、ローカルにある場合もあれば、サーバーにある場合もあります。したがって、トラブルシューティング方法は、ローカルコンピュータやブラウザの設定に焦点を当てたものから、サーバーのセットアップやSSL証明書の設定に関するものまで様々です。
1. サイトの最近の変更を確認する
「ERR_SSL_PROTOCOL_ERROR」エラーの根本的な原因についてご説明する前に、最近サイトに変更を加えたかどうかを確認しましょう。
通常、安全な接続が確立されると、安全でなくなることはほぼありません。既存のサイトのサーバーサイドで何かが変更された場合、または初めてサイトを稼働した際に問題が発生することが多く、要求されたサイトが存在しない場合は、このエラーが表示されます。
したがって、最近ホスティングを乗り換えた、あるいはSSL証明書をインストールしようとした場合には、それが原因となっている可能性が高いです。
この点を確認することで、エラーを引き起こしている問題をある程度絞り込めるかもしれません。
2. SSL状態をクリアする
まずは、ChromeのSSL状態をクリアしてみましょう。ブラウザは、特定のウェブサイトの安全な接続が最初に確立された際に、以降の接続を高速化するためにサイトのSSL証明書をキャッシュに保存します。
これはページの読み込み時間を最適化するためです。そうしないと、HTTPSリクエストがある度にSSL証明書をダウンロードして認証する必要があるため、パフォーマンスが低下します。
ウェブサイトをKinstaに移行した場合、DNSの設定をKinstaのサーバーに向けて変更し、Let’s Encryptの無料のSSL証明書をインストールした時に、このエラーが発生する可能性があります。
DNS設定が浸透した後、ブラウザの安全な接続でサイトにアクセスした際に、ブラウザキャッシュに古いバージョンのSSL証明書が保存されていることで、エラーが発生することがあります。
これを解決するには、SSL状態のキャッシュをクリアします。完了したら、ブラウザを再起動して、もう一度ウェブサイトに接続してみます。
Macの場合は、以下の手順でSSL証明書を削除することができます。
- Finderから「ユーティリティ」>「キーチェーンアクセス」に移動
- 左サイドバーから「システム」をクリック
- 削除する証明書を右クリックで
- 「(証明書名)を削除」を選択しプロンプトを確認
- キーチェーンを変更するためのパスワードを入力(通常はログインパスワード)
- 証明書が一覧から削除される
3. SSL証明書を確認する
同様の問題は、SSL証明書が生成されたものの、DNS設定がまだ完全に伝播されていない場合にも発生します。この場合、SSL証明書は作成時に正しいドメインと紐付けることができません。
Kinstaのお客様は、Cloudflare統合によるSSL証明書で自動的にサイトが保護されるため、ドメインの追加後の設定は不要です。
オンラインのSSL確認ツールを使用し、サイト全体のスキャンを実行して、SSL証明書に問題がないか確認することもできます。このような確認方法でも信頼性は高く、ブラウザのキャッシュをバイパスして、証明書が有効かどうかを判断します。
Kinstaでも使用しているQualys SSL LabsのSSL確認ツールをお勧めします。
「Hostname」(ホスト名)の欄にドメインを入力し、「Submit」(送信)ボタンをクリックするだけでOKです。スキャンが完了すると、SSL証明書チェックの結果が表示されます。すべてが順調に機能している場合には、次のような内容が表示されます。
SSL証明書が機能しているかどうかを確認する方法はこちらをご覧ください。
4. システムの日付と時刻を確認する
SSL証明書が有効でSSL状態をクリアしてもエラーが表示される場合は、コンピュータの設定を調べ、ERR_SSL_PROTOCOL_ERROR発生の原因を特定する必要があります。
(関連記事:従来のTLSバージョンをご利用の場合は、Chromeの「ERR_SSL_OBSOLETE_VERSION」エラーへの対応が必要になる場合があります)
まず、オペレーティングシステムの日付と時刻が正しく設定されているかどうかを確認しましょう。正しく設定されていないと、SSL証明書に認証の問題が発生する可能性があります。
これは、SSL証明書には決まった有効期限があり、システムの日付と時刻が正しくない場合、認証プロセスとの間に齟齬が発生する可能性があるためです。
安全な接続を行う際は、日付と時刻が常に正しいことが想定されるため、ローカルシステムの設定が正しいかどうか確認することが重要です。
Windows 10で日付と時刻を確認するには、Windowsキー+ Xキーを押して、表示されるコンテキストメニューから「システム」を選択します。すると、「設定」ウィンドウが表示されます。
「設定の検索」テキストボックスに「日付」と入力し、ドロップダウンメニューから「日付と時刻を変更」を選択します。次に、「日付と時刻」の設定画面で、時刻と日付が正しいかどうかを確認します。
macOSでは、画面の左上隅にあるAppleアイコンをクリックし、ドロップダウンメニューから「システム環境設定」を選択して、リストから「日付と時刻」を選択します。
必要に応じてシステムの時刻を調整してください。
5. ブラウザのキャッシュとCookieをクリアする
しばらく消去していない場合、ブラウザキャッシュをクリアしてみましょう。ブラウザのCookieも削除することをお勧めしますが、これを実行すると、現在ログインしているサイトに次回アクセスした際、再度ログインする必要がありますのでご注意ください。
6. ブラウザの拡張機能を無効にする
複数のブラウザ拡張機能を有効にしている場合、これがエラーの原因である可能性があります。ブラウザの拡張機能を1つずつ一時的に無効にして、HTTPSリクエストのエラーが解決するかどうか確認しましょう。
Chromeの拡張機能を無効にするには、ブラウザ画面の右上にある3点リーダーのアイコンをクリックし、表示されるメニューから「その他のツール」> 「拡張機能」を選択します。
有効になっているすべてのブラウザの拡張機能を1つずつオフにし、サイトにアクセスします。「ERR_SSL_PROTOCOL_ERROR」エラーの原因であると思われる拡張機能が見つかった場合、その拡張機能を削除するか、エラーの詳細がわかるまで無効のままにしましょう。
問題を解決する方法が見つからない場合は、該当する拡張機能を完全に削除することをお勧めします。
7. ブラウザを最新バージョンに更新する
ブラウザ関連の最後の手順は、Chromeを最新バージョンに更新することです。
古いバージョンのブラウザを使用すると、「ERR_SSL_PROTOCOL_ERROR」エラーなどの安全な接続に関連した問題が発生する可能性が高くなります。
最新のブラウザではセキュリティ機能の追加や更新が頻繁に行われ、バグが定期的に修正されます。常に最新のものを使用することを心掛けましょう。
Chromeブラウザは、起動するたびに更新の有無を自動的にチェックするため、これを活用するのが便利です。ブラウザのタブを常に開いたままにしている方は、更新確認のために時々ブラウザを再起動してください。
8. オペレーティングシステムを更新する
オペレーティングシステムを最新の状態に保つことも重要です。前回の更新からしばらく時間が経過している場合はなおさらです。
Windows 10の自動更新をオンにしている場合は、この点についてそれほど心配する必要はありません。ただし、すべてのオペレーティングシステムが自動アップデートを適用しているわけではないため、利用可能なアップデートがあるかどうかを確認することをお勧めします。
macOSではAppleアイコンをクリックし、「このMacについて」を選択すると、タブ付きのウィンドウが開きます。システムアップデートが利用可能な場合は、「ソフトウェアアップデート」ボタンが表示されます。ボタンをクリックして、最新のアップデートをインストールします。 また、Appleアイコン>「システム環境」>「一般」>「ソフトウェアアップデート」からも確認可能です。
オペレーティングシステムの更新に時間がかかる場合は、更新を行う前にコンピュータを再起動することをお勧めします。これは、オペレーティングシステムの更新を一からインストールするよりもはるかに速く、安全な接続の問題を解決できる可能性があります。
9. ウイルス対策とファイアウォールを一時的に無効にする
ウイルス対策ソフトウェアとファイアウォールソフトウェアを有効にすることは非常に重要です。これらのツールは、あらゆる種類のセキュリティの問題からユーザーを保護してくれます。
保護機能の一環として、ウイルス対策ソフトウェアはHTTPS接続の問題をチェックして、予期せぬことが起こっていないか確認します。しかし、時にソフトウェアが誤って安全な接続をブロックしてしまうことも。
これがエラーの原因であるかどうか確認するには、一時的に無効にして、もう一度ウェブサイトにアクセスします。必要に応じて、ファイアウォールも無効にし、ウェブサイトをもう一度確認しましょう。
システムが保護されていない状態になってしまいますので、できるだけ早くウイルス対策ソフトウェアとファイアウォールを再度有効化するようにしてください。
10. サーバーログのエラーメッセージを確認する
この段階まできても「ERR_SSL_PROTOCOL_ERROR」エラーが解決されない場合は、より複雑な問題が原因になっているかもしれません。
サーバーログをチェックし、最近のアクティビティを確認することで接続エラーなどのよくあるウェブサイトの問題を特定できる場合があります。これにより、手がかりを得られるかもしれません。
ブラウザ別「ERR_SSL_PROTOCOL_ERROR」エラーの見え方
Google Chrome
Google Chromeでは、「このサイトは安全に接続できません/domain.com から無効な応答が送信されました」というメッセージが表示されます。
Microsoft Edge
Microsoft Edgeでは、「このページに安全に接続できません」というメッセージとともに、考えられる原因にまつわる情報が表示されます。
以下の例では、「サイトで古いか安全でないTLSセキュリティ設定が使用されている可能性があります。この問題が解決しない場合は、Webサイトの所有者に連絡してください」となっています。
Mozilla Firefox
Mozilla Firefoxでは、次のように、「ERR_SSL_PROTOCOL_ERROR」エラーにより安全な接続ができないこと示す警告が表示されます。
「警告: 潜在的なセキュリティリスクあり」
Google ChromeやMicrosoft Edgeとは異なり、Firefoxのエラーページには、エラーが発生したときの対策など詳細情報が表示されます。
まとめ
WordPressサイトで「ERR_SSL_PROTOCOL_ERROR」エラーが発生した場合は、SSL証明書または接続設定に問題がある可能性があります。
今回の記事を参考に、SSL状態のクリア、SSL証明書の検証、システム設定の確認などのトラブルシューティングを順に行うことで、再び安全な接続を確立することができます。
このエラーに悩まされているKinstaのお客様は、24時間年中無休で利用可能なライブチャットにて、サポートスタッフにお知らせください。解決のお手伝いをさせていただきます。ライブチャットは日本語でもご利用いただけます。