h2o + supervisord で Munin を HTTP/2 でサーブさせてみた

YAPC::Asia Tokyo 2015 で HTTP/2 の話を聞いて意識が高まったので Munin を h2o でサーブするようにしてみた記録。
リバースプロキシではなく、h2o 自身にサーブさせている。

環境

  • CentOS release 6.5 (Final)
  • h2o Rev.af7413a0ec
  • Supervisord 2.1

h2o

インストール
yum install cmake
yum downgrade libyaml
yum install libyaml-devel

cd /usr/local/src
git clone https://github.com/kazuho/h2o.git
cd h2o
git submodule update --init --recursive
cmake .
make h2o

make install
設定
# cat /usr/local/share/h2o/h2o.conf
hosts:
  "munin.example.com":
    listen:
      port: 443
      ssl:
        certificate-file: /etc/httpd/certs/your.crt
        key-file:         /etc/httpd/certs/your.pem
      host: 0.0.0.0
    paths:
      "/":
        file.dir: /var/www/html/munin

access-log: /var/log/h2o-access.log
error-log: /var/log/h2o-error.log

Supervisord

インストール
yum --enablerepo=epel install -y supervisor
設定
# cat /etc/supervisord.conf
[supervisord]

[program:h2o]
command=/usr/local/bin/h2o -c /usr/local/share/h2o/h2o.conf
autorestart=true

所感

めっちゃ表示速くなった。
画像が一気に表示されるので非常に気持ちいい。

Chrome のネットワークタブを見るとこんな感じ。

ただ、IE11 でページが表示されないことがあったので、今すぐ本番導入という感じではないかも?

まとめ

HTTP/2 と h2o 最高!