ApacheのDigest認証設定を行ったのでそのメモ。
1.ユーザ登録
レルム名:test_realm
ユーザ名:admin
# htdigest -c /etc/httpd/.htdigest 'test_realm' admin
2.httpd.conf設定
訳あって「/hoge/noauth.php」のみ認証を行わないように設定する。
<Directory /var/www/hogehoe/html/ >
Options None
Order allow,deny
Allow from all
AuthType Digest
AuthName "test_realm"
AuthUserFile /etc/httpd/.htdigest
Require user admin
</Directory>
<Location /hoge/noauth.php >
Satisfy any
</Location>
「Satisfy any」の意味は以下の通り。引用元
デフォルトの動作 (All) はクライアントがアドレスによる アクセス制限を満たし、かつ正しいユーザ名とパスワードを入力することを 要求します。Any では、クライアントはホストの制限を満たすか、 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。