3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

Apache2.2でダイジェスト認証

(よーやく仕事見つかったんですが、なれない業務に疲れ気味の3流PGです。。。。)

さて、Apache2.2で運用するWEBページに認証をかけることになったんですが、ベーシック認証だと暗号化されてないんで、DIGEST認証を使うことにしました。

Apache2.0の時代とちょっと変わってるところがあってハマりましたね。

まずApache上のアカウントを作成します。

htdigest -c /etc/httpd/.htpasswd_dig realm username

(-c は初めてパスワードファイルを作る時のみ指定します。)

後はApache側の設定ですが、.htaccessに各方法と、httpd.conf でに入れる方法があります。

まぁどっちでも書式はほぼ一緒なんですが、今回は.htaccessを使うことにしました。

AuthType Digest

AuthName realm

AuthUserFile /etc/httpd/.htpasswd_dig

Require valid-user

ハマったのは AuthUserFile です。Apache2.0だとここは AuthDigestFile だったんですよね。

あと、Require の設定はこんな感じになります。

Require user hoge ←この場合hogeしか入れない

Require user hoge aaa ←この場合hogeとaaaしか入れない

Require valid-user ←全ユーザが入れる

参考:

@IT:Apacheでユーザー認証を行うには(Digest認証編) これはApache2.0の設定なのでこのままApache2.2に適用すると動きません。

Apacheで認証をしたい。 これもApache2.0時の設定です。

floatingdays: Apache2.2のDigest認証設定