ApacheにSSLを導入したらブラウザにエラーが表示されるとき

投稿者: | 2018年7月12日

先日、Let’s Encryptを自分のサーバーにインストールしてApacheを再起動し、Chromeでアクセスしてみたら、こんなエラー画面が表示されました。

テキストではこんな感じ
━━━━━━━━━━━━━━━━━━━━━━━━━━━
このサイトは安全に接続できません
(サイト名) から無効な応答が送信されました。
Windows ネットワーク診断ツールを実行してみてください。
ERR_SSL_PROTOCOL_ERROR
━━━━━━━━━━━━━━━━━━━━━━━━━━━

暗号化プロトコルが古かったりするとこのようなメッセージが表示されるらしいのですが、その辺りをどれだけ改善しても変わり無しで途方にくれました。
同じバージョンの別環境では問題ないのに、何故このサーバーだけ・・・

何度も設定を変更してApacheを再起動して気づいたのは、問題のサーバーはApacheの設定にWarningがあるということでした。
Apacheを再起動するたびにWarningのメッセージが表示されるので、鬱陶しいと思いまずこれを消すことにしました。
Warningの原因はもう存在しないディレクトリをDocumentRootとして参照しているVirtualHostが存在していたという簡単なものでした。
設定ファイルを修正し、Apacheを再起動するとWarningも表示されなくなりすっきりしました。
これでSSLも問題なくなればなとブラウザでアクセスしたところ、なんとエラーが解消されています。

こんなことが影響してたりするんですね。
もしSSLがうまく行かない場合は、Apacheの設定ファイルでWarningが出てないか確認してみると良いでしょう。
あと、Let’s Encryptは無料かつお手軽に導入できるのでお勧めです。