Apacheの Order Allow,Denyはもう古い

server, ブログ

WebサーバのApacheですが、2.4からディレクティブの書き方が変わっていたんですね。

アパッチのサーバをいじったことのある人なら一回は目にしたことがると思われるこの書き方

古いアクセスコントロールのモジュールが、 mod_access_compat に入って新規に mod_authz_host に変わったとか。

2.4になっても  mod_access_compat が入っていれば今までと同じように動作するのですが、もはや時代は変わってモダンな書き方に変更していったほうがいいみたいです。

基本的に覚えるのが難しかったのですが、これからは、基本が全て拒否になっていて、許可の項目を入れていくというスタイルになります。

まだ翻訳されてません。

Order Allow,Denyは

いままで

2.4では

これだけで全てのアクセスがOK。

特定のIPやホストを拒否する

いままで

2.4では「RequireAll」を使ってくくって全て許可した上で 「not」で拒否します。

 




環境変数を使って特定の許可をする

あまり使いませんが、特定の条件のみアクセスを許可する場合です。

いままで

2.4では

許可の項目を入れていくだけなのでこうなります。

環境変数を使って特定の拒否をする

環境変数を入れて全て許可した上で拒否の項目を入れていきます。

ローカルホストだけ許可する

127.0.0.0/8 と ::1 のみアクセス許可

特定のファイルのみ拒否する

データベースやシークレットな内容が書いてあるファイルなど、特定の拡張子を拒否します。