Posted at

h2oでBasic認証を特定のディレクトリにかける

More than 1 year has passed since last update.


h2oでBasic認証を特定のディレクトリにかける

2.1以上での設定ファイルの書き方です。ハッシュ値はmd5であることが条件です。

今回は/adminにBasic認証をかけてみます。

aclとuse、mruby拡張を使うのがナウいらしいです。


手順


  1. .htpasswdをmd5で作成する

  2. h2oの設定ファイルの編集

  3. h2oの再起動


.htpasswdをmd5で作成する

htpasswd -nbm ユーザ名 パスワード > .htpasswd


設定ファイルの編集

.htpasswdを/var/www/htmlに移動しておきました。

paths:

"/":
file.dir: /var/www/html
file.index: ['index.html', 'index.php']
mruby.handler: |
require "htpasswd.rb"
acl {
use Htpasswd.new("/var/www/html/.htpasswd", "realm") { path.start_with?("/admin") }
}


h2oの再起動

sudo systemctl restart h2o

再起動がコケていたらエラーメッセージを見ましょう

sudo systemclt status -l h2o

設定ファイルのインデントがおかしいとか、文法がおかしいとかいろいろあるみたいです。


参考文献

h2oでBasic認証を実装する



Access Control - Configure - H2O - the optimized HTTP/2 server