Apacheのアクセス制限についてまとめます。
Apache2.4ではホストベースのアクセス制御にRequire
ディレクティブを利用します。
以前のバージョンでは、Order
、Allow
、Deny
の3つのディレクティブで行っていましたが、
こちらは非推奨となっているので注意が必要です。
参考: https://httpd.apache.org/docs/2.4/howto/access.html
設定例は以下となります。
Require all granted
Require ip 127.0.0.1
上位ディレクトリでRequire all granted
が設定されていると、以下の設定はエラーとなります。
「すべてを許可」もしくは「指定したIPを拒否」という設定になりおかしくなるためです。
<RequireAll>
で囲むことで、このエラーは回避できます。
<RequireAll>
で囲むことで、すべての条件を満たすという設定となります。
<RequireAny>
で囲むといずれかの条件を満せばよいという設定になります。
ただ、囲まなくてもデフォルトで<RequireAny>
となるため、使用する機会は少なそうです。
httpd.conf
と同様に、.htaccess
に設定を書くことができます。