Include configuration file of H2O

このブログのWebサーバはH2Oを使っています。

今年1月にH2Oのv2.1.0がリリースされました。新機能の1つとして、設定のincludeに対応しました。

ドキュメントは以下。

yamlのタグとやらを使っているみたいですね。yamlのタグ機能がどんなものなのか確認しようと思ったのですが正直良くわからず...。おいおい調べよう...。

includeの方法

h2o.conf内にblog.lorentzca.me.confをincludeする例です。

  • includeしたい設定ファイルを用意する
  • <<: !file 設定ファイルのpathのようにしてincludeする

blog.lorentzca.me.conf

"blog.lorentzca.me:80":
  listen:
    port: 80
  paths:
    "/":
      redirect:
        status: 301
        url: "https://blog.lorentzca.me/"

"blog.lorentzca.me:443":
  listen:
    port: 443
    ssl:
      certificate-file: "/etc/letsencrypt/live/blog.lorentzca.me/fullchain.pem"
      key-file:         "/etc/letsencrypt/live/blog.lorentzca.me/privkey.pem"
  paths:
    "/":
      proxy.reverse.url: "http://127.0.0.1:2368/"
    "/.well-known":
      file.dir: /var/www/ghost/.well-known

h2o.conf

user: h2o  
...
hosts:  
  <<: !file /etc/h2o/blog.lorentzca.me.conf

感想

include機能によって、最近行数が長くなってきたH2Oの設定ファイルが分割できて見やすくなりました!✨

やっぱり設定ファイル類は管理しやすいように分けていきたいですね(分け過ぎは禁物ですが...)。

参考リンク

h2oのGitHub。

h2oのドキュメント。

yamlのドキュメント。