H2Oおおおおおおおおおおおおお〜
Apache/Nginxの場合Allowなんちゃらとかでアクセス制限できますが、
h2oでも可能です。
■Configure > Access Control
https://h2o.examp1e.net/configure/access_control.html
基本的にmrubyでaclを使って制御するわけです。
今回はallowに許可するIP、denyはドキュメントと同じようにすればOKなはず。
■example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
"adachin.com:443": listen: port: 443 ssl: certificate-file: /etc/letsencrypt/live/adachin.com/fullchain.pem key-file: /etc/letsencrypt/live/adachin.com/privkey.pem paths: "/": mruby.handler: | require "htpasswd.rb" acl { allow { addr == "xxx.xxx.xxx.xx1" } allow { addr == "xxx.xxx.xxx.xx2" } deny { user_agent.match(/curl/i) && ! addr.start_with?("192.168.") } use Htpasswd.new("/var/www/html/.htpasswd", "realm-name") { path.start_with?("/") } } file.dir: /var/www/html |
requireにはhtpasswd.rbを指定してみました。
とりあえず社内は閲覧できて、社外はベーシックを出るように設定するとこんな感じです。
■まとめ
denyの設定をちゃんとしないとうまくいかない!
0件のコメント