Apacheバーチャルホスト内の特定のソースIPへのアクセスを制限する
同じapacheサーバー上にいくつかの名前のバーチャルホストがありますが、そのうちの1つのバーチャルホストに対して、特定のIPアドレスだけがアクセスできるようにする必要があります。
これを行う最良の方法を教えてください。mod_authz_hostsモジュールを見ましたが、バーチャルホストの中でそれを行うことはできないようです。
36
4
mod_authz_host`ディレクティブは
または
ブロックの中に置く必要があるが、私はApache 2.2のために前者を``の中で使っている:参照: https://askubuntu.com/questions/262981/how-to-install-mod-authz-host-in-apache
Apache 2.4 では、Require IP ディレクティブ を使います。つまり、192.168.0.0/24 ネットワーク (192.168.0.0 から 192.168.0.255 までの範囲) からのマシンだけを許可するには
また、localhost マシンにだけアクセスさせたい場合は、特別な Require local directive があります。
以下の条件のいずれかが真であれば、ローカルプロバイダはサーバへのアクセスを許可します:
クライアントのアドレスが127.0.0.0/8に一致する。 クライアントのアドレスが::1である。 クライアントとサーバーのアドレスが同じである。
これは、ローカルホストから発信された接続をマッチさせる便利な方法です:
バーチャルホスト内でapache 2.2を使用している場合は、以下のディレクティブ(mod_authz_host)を追加してください:
サブネットを指定することもできます
Apache 2.4は設定として少し違うようです。 どのバージョンのapacheを使用しているかを指定した方がいいかもしれません。
Apache 2.4では、承認構成の構文が変更されており、「注文」、「拒否」、「許可」ディレクティブは使用しなくなりました。
これを行う新しい方法は次のとおりです。
新しい構文を使用するその他の例は、Apacheのドキュメントにあります:2.2から2.4にアップグレード。