Apacheを使用したDigest認証
仕事でダイジェスト認証を調査することになったので・・・。
1、Apache2.2.11をインストール
2、設定ファイル(httpd.conf)の変更
1は他のサイトを参照してください。
2の設定ファイルについてちょっとはまったので。
C:\Program Files\Apache Software Foundation\Apache2.2\
とし、ダイジェスト認証を行うためのディレクトリを
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test
とします。
httpd.confの
#LoadModule auth_digest_module modules/mod_auth_digest.so
のコメントをはずします。
次に
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
の部分を以下のように変更します。
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test"> AuthType Digest AuthName aaa AuthUserFile C:\.htdigest Require user secret </Directory>
ここでApache2.2以前だとAuthDigestFileとなっていたところがAuthUserFileとなっています。
コレのせいで結構時間を奪われた;
次にID、パスワードの設定
コマンドプロンプトを開いて
cd "C:\Program Files\Apache Software Foundation\Apache2.2\bin"
binフォルダまで移動します。
C:\Program Files\Apache Software Foundation\Apache2.2\bin>htdigest -c C:\.htdigest aaa secret
上のコマンドを入力します。
C:\.htdigestはパスワードのダイジェストファイル(httpd.confのAuthUserFile)を指定します。
aaaはhttpd.confのAuthNameの値を。
secretはIDを指定します。
そうすると
Adding password for secret in realm aaa. New password: **** Re-type new password: ****
となるのでNew passwordとRe-type new passwordにパスワードを入力してください。
以上の設定が終わったらApacheを再起動し、http://localhost:8080/test/ファイル名にアクセスしてみてください。
うまくいけばIDとパスワードを聞かれるはずです(=ω=)