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

CentOS 8, 7 の場合 (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