Apache 資料一覧

ベーシック認証/ホスト制限のどちらかの方法でサーバにアクセスする

2008/7/29更新

対応バージョン: 2.2.9

サーバにアクセスする際に外部からのアクセスにはベーシック認証を用い、内部からのアクセスは認証不要にさせたいような場合、両者の設定を記述しておいて「Satisfy any」を指定することによってどちらかの条件のみを満たせばアクセスを可能にすることができる。

具体的には以下のように設定する。

ベーシック認証

/usr/local/apache2/.htpasswdに記載されたアカウントのみアクセス可能

AuthUserFile /usr/local/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName "Require UserAuthentication: "
AuthType Basic
require valid-user
ホスト制限

192.168.0.*からのみアクセス可能

order deny,allow
allow from 192.168.0.0/24
deny from all
上記のどちらかがOKならアクセス可能にする
Satisfy any

以上の設定を.htaccessに記述することによって、この例では192.168.0.*からのアクセスは認証不要、それ以外のホストからのアクセスは認証が必要となる。

AuthUserFile /usr/local/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName "Require UserAuthentication: "
AuthType Basic
require valid-user

Satisfy any

order deny,allow
allow from 192.168.0.0/24
deny from all

尚、Satisfyをallに指定するとアクセスできるのは両方の設定を満たした場合のみになる。つまり、アクセス可能なホストは192.168.0.*のみで、かつユーザ認証が必要となる。

関連資料・記事