nginxでのhttp2通信の実装はとても簡単。

前提としてhttpsの通信しかブラウザ側がhttp2通信でやりとりしてくれないそう。

なので、SSL証明書が必要ですが、そこはLettsとかを使用してがんばってください。

まずは設定の確認とバージョンから使用できるかを確認

opensslが1.0.2以降、nginxが1.9.5以降であればOK。

[root@]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
[root@]# nginx -v
nginx version: nginx/1.12.2

問題なし。http2のためにnginxの設定を確認。

/etc/nginx/conf.d/ssl.conf
~~~~~~~
server {
    listen       443 ssl http2;
    ssl           on;
~~~~~~~~

問題なし。他にSSLのコンフィグは書いてないし、httpsでの通信は出来ている。が、

HTTP/2 and SPDY indicatorが青く光らない。

デベロッパーツールからネットワークを確認してもhttp/1.1。なんでや。

他に設定がいるのかと悩んでいましたが、どうやら不備はなく、ローカル側のavastの設定が悪さをしていた模様。

avastの設定→シールド→ウェブシールド

こちらを一時的にOFFにして再度アクセス・・・問題なくHTTP/2 and SPDY indicatorが青く光った。

・・・それにしても証明書をavast名義にしたり、今回の件だったり、avastさん・・・時々邪魔・・・。

関連記事