Raspberry Pi 2 Model B でHTTP/2 (by h2o) Hello World
調子に乗って二日連続書いてます。
ラズベリーパイでついでにHTTP/2サーバを動かしてみました。 もちろんh2oを使います :D github.com
HTTP/2については世の中に詳しく説明された情報がたくさんあるのでググってくださいということで、導入した流れだけサラッと記していきます。
目次
- 導入手順
- 確認
- 終わりに
導入手順
cmakeインストール
cmakeが必要なので入れておきます。
$ sudo apt-get install cmake
h2oインストール
$ cd ~/git_repo/ $ git clone https://github.com/h2o/h2o.git $ cd h2o $ git submodule update --init --recursive $ cmake .
ぎゃー。と、ここでなんかエラー出たCMake Error at CMakeLists.txt:21 (CMAKE_MINIMUM_REQUIRED):
CMake 2.8.11 or higher is required. You are running version 2.8.9
ということなので言われた通りにします。一応確認。
$ cmake --version cmake version 2.8.9
ほんとだ。2.8.11 以上を使えって言われてるのでとりあえず2.8.11を持ってきます。
$ cd /usr/local/src/ $ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz $ sudo tar -xzvf cmake-2.8.11.tar.gz $ cd cmake-2.8.11/ $ sudo ./configure しばし待つ... $ sudo make しばし待って完了
気を取り直してh2oインストールを進めます。
$ cd ~/git_repo/h2o/ $ /usr/local/src/cmake-2.8.11/bin/cmake . $ make h2o しばし待つ....
完了です。
configファイル修正
configファイルを少し修正します。
$ cp examples/h2o/h2o.conf examples/h2o/test.conf $ vim examples/h2o/test.conf
中身
listen: port: 8080 ssl: certificate-file: /etc/letsencrypt/live/<FQDN>/fullchain.pem key-file: /etc/letsencrypt/live/<FQDN>/privkey.pem
証明書はletsencryptを使って発行しました。(一つ前の記事参照)
起動
$ ./h2o -c examples/h2o/test.conf
簡単!
確認
アドレスバーがちゃんと緑のhttps://になって、青いイナズマが出てます。
Chrome ExtentionのHTTP/2 and SPDY indicatorを入れているので青いイナズマが表示されています。
終わりに
Hello worldなのでここまで。Raspberry PiでHTTP/2環境を簡単に作れました。 HTTP/2のプロトコル仕様ではhttpsは必須では無いですが、現状ブラウザがhttpsでしかサポートしていないのでSSL/TLS化しています。 そのうち Rails on HTTP/2 on Raspberry Pi でもやりたいと思います。