
このサイトは、エックスサーバー を借りて運用しています。
そのエックスサーバーが「nginx」導入と「HTTP/2」対応ということを発表しました。

これでこのサイトもさらにサクサクになるかと期待大です。
しかし、なぜか自宅からアクセスしてもHTTP/1.1になってしまいました。
この記事では、HTTP/2対応しているサイトなのに、なぜかHTTP/2で通信できない原因についてご紹介します。
HTTP/2通信ができない
このサイトで借りているサーバーも、対応したというメールが届き、HTTP/2通信ができているのかを確認しました。
しかし、なぜかChromeでこのサイトにアクセスしても、HTTP/1.1と表示されます。

それでは、Firefoxではどうかというと、こちらも同じ結果に。。

今度は、無料オンラインサービスでHTTP/2の確認をしてみると、対応していると出ました。


エックスサーバーに問い合わせをしても、正常に通信されているという回答をもらいました。
HTTP/2通信できない原因
これはこちらの環境に問題があるのかと思い、まず疑ったのがセキュリティソフト。
うちのPCには、ESET ファミリー セキュリティが入っていて、このソフトが影響しているのではないかと。
設定をいろいろ調べているとそれらしい機能がありました。
「SSL/TLSプロトコルフィルタリング機能」という機能です。
発売元のサポート情報にも、https://で始まるWebページで問題が発生する場合があるとのこと。
試しに、この機能をOFFにしてみたところ、
Chromeでアクセスしてみると、HTTP/2になっていました。

Firefoxでも、HTTP/2になっていました。

体感でも表示までの時間が明らかに速くなってました。
原因は、ESET ファミリー セキュリティでした。
ESETクライアントがフィルタリングした結果、HTTP/1.1通信になってしまうようです。
ESETは結構使われているセキュリティソフトだと思います。
HTTP/2に対応したサイトも増えてきています。
セキュリティのためには仕方ないのかもしれませんが、知らずに遅いまま閲覧している人も多いんじゃないかなと思いました。
まとめ
いかがでしたか?
この記事では、HTTP/2対応しているサイトなのに、なぜかHTTP/2で通信できない原因についてご紹介してきました。
HTTP/2対応しているはずのサイトが、HTTP/1.1になっているとき、ESET ファミリー セキュリティの設定を見直すと幸せになれるかもしれません。
それにしても、エックスサーバー頑張ってますね。

エックスサーバーを借りるときに、MixHost とも迷いましたが、今のところエックスサーバーにとても満足しています。