9
10

More than 5 years have passed since last update.

nginxをHTTP/2対応にする方法(ソースビルド不要)

Last updated at Posted at 2017-12-01

半年前くらいまで
nginxをHTTP/2対応にする方法(Chrome 51以降でも有効にする)

で、ソースから最新版をビルドしないといけなかったんだけど、最近のディストリビューションならもう新しいバージョンが入っているので、http2と一言かけば有効になってしまう。

バージョンの確認

$ nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

という具合に、nginx/1.12.2 & OpenSSL 1.0.2になっていればOK。
あと、HTTP/2はSSLが前提なので、すでにHTTPSで通信できる設定になっていることが前提です。

対応させる

 nginxの設定ファイルの

  listen 443 ssl;

これを

  listen 443 ssl http2;

こうするだけ。

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl restart nginx.service

テストして問題なければ再起動。

ブラウザで確認

 ChromeでDeveloperTool - Networkを見る

ヘッダのところを右クリックして"protocol"にチェックを入れる

品川駅付近の電源マップ_-_モバイラーズオアシス.png

リロードして、protocolのところがh2になっていることを確認。

Screen Shot 2018-01-29 at 21.10.14.png

HTTP/2の能力を活かすためには、webpackで固めていたJSをバラバラにするとかこまかい改善が必要なんだけど、とりあえずnginxサーバとしてはこれだけでOK。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10