Apache アクセス制限の設定 (IPアドレス, ホスト名)

Apache 2.4系の場合

Apacheの設定ファイルや.htaccessにRequireディレクティブを記述することで、IPアドレスやホスト名によるアクセス制限を行うことができます。

  • 全ホストからのアクセスを許可する
Require all granted
  • 全ホストからのアクセスを拒否する
Require all denied
  • ローカルからのアクセスのみを許可する
Require local
  • 特定のIPアドレスからのアクセスのみを許可する
Require ip 192.0.2.13
Require ip 198.51.100.29 198.51.100.41 198.51.100.42
  • 特定のIPアドレス帯からのアクセスのみを許可する

ネットワークマスクの表記は255.255.255.0のような表記でも、/24のようなCIDR表記でも記述できます。

Require ip 192.0.2.0/255.255.255.0
Require ip 198.51.100.0/255.255.255.0 203.0.113.0/255.255.255.0
Require ip 192.0.2.0/24
Require ip 198.51.100.0/24 203.0.113.0/24

また、192198.51203.0.113のようにIPアドレスを部分的に記述することでIPアドレス帯を指定することもできます。

Require ip 192
Require ip 198.51 203.0.113
  • 特定のホストからのアクセスのみを許可する

アクセス元のIPアドレスをDNSで逆引きした時のホスト名でアクセス制限をすることができます。フルホスト名での完全一致だけではなく、サブドメインやドメイン名での部分一致を指定することもできます。

Require host example.org
Require host host1.example.com host2.example.com