H2Oおおおおおおおおおおお

ベーシック認証!
もちろんH2Oでも可能です。まずはドキュメントから。


■Configure > Using Basic Authentication

 

https://h2o.examp1e.net/configure/basic_auth.html

Starting from version 1.7, H2O comes with a mruby script named htpasswd.rb that implements Basic Authentication. The script provides a Rack handler that implements Basic Authentication using password files generated by the htpasswd command.

(訳)
バージョン1.7以降、H2Oには基本認証を実装するhtpasswd.rbというmrubyスクリプトが付属しています。 このスクリプトはhtpasswdコマンドで生成されたパスワードファイルを使用して基本認証を実装するhandlerを提供します。

とりあえずmrubyを駆使しないといけないので、
以下のような構成がベスト。


■構成

・h2o.conf

・htpasswd.rb

https://github.com/h2o/h2o/blob/master/share/h2o/mruby/htpasswd.rb

/etc/h2o/sites-enables/mrubyにぶち込みます。

・test.jp.conf

今回は/var/www/htmlに.htpasswdを作成します。

・空の.htpasswd作成しhtpasswdコマンドで作成する

ちなみに以下のようにエラー出る人はPLAIN TEXTを使ってる人!(MD5でセキュアに)(500 Internal Server Error)

failed to validate password using file:/var/www/html/.htpasswd:crypt-style password hash is not supported

参考
https://httpd.apache.org/docs/2.4/misc/password_encryptions.html


■まとめ

あとは再起動すればOK。
apacheとかnginx使う必要なくなってきたな…..
.htpasswdはちゃんとコマンドでやらないとアカン。
H2O楽しい!

The following two tabs change content below.

あだちん

1989年生まれ。 Infra Engineer(SRE) In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはAnsible,Terraform。 インフラならAWS/Docker。言語はPython。 WEBサーバならH2O。そして「脆弱性スキャナVuls」のOSS活動もしており、VulsRepo init fileのコミッターでもある。VulsのためにGolangと格闘中でエバンジェリストに任命!?HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す