Apache 2.4で表題を行う。Basic認証を行おうと思ったのだが、Basic認証はパスワードが平文で送られるからDigest認証の方が良いよ!というのを見かけたのでやってみる。
■ 環境
- Apache 2.4.25
- Amazon Linux
■ httpd.conf
下記を追記した。
<Directory "/var/www/html/private">
AuthType Digest
AuthName "private"
AuthDigestDomain /private/
AuthDigestProvider file
AuthUserFile /etc/httpd/.htdigest
Require valid-user
</Directory>
対象のディレクトリは”/var/www/html/private“である。このディレクトリ配下へのアクセスをDigest認証で制限する。”AuthName“で指定するのは何でも良いようであるが、後述の`htdigest`でも入力する必要があるのでわかりやすく”private“にしてしまった。
■ htdigest
前述の”AuthUserFile“で指定したファイルを作成する。初めての実行なので”-c“が付いているが、次回以降はいらない。
$ htdigest -c /etc/httpd/.htdigest privae withsin
Adding password for partner01 in realm private
New password: *****
Re-type new password: *****
$
ファイルが作成された。中身を確認すると下記のようであった。
$ cat /etc/httpd/.htdigest
withsin:private:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$
httpdに設定を反映する。
$ sudo service httpd configtest
Syntax OK
$
$ sudo service httpd reload
実際にブラウザでアクセスをし、ユーザ名とパスワードを求められ、ログインができれば思い通りに動いているであろう。
以上。