目標
ApacheのルートディレクトリでBasic認証を行う
つまづいたポイント
httpd.confの<Directory "/var/www/html"></Directory>に下記記述を追加しても、Basic認証が行われなかった。
|
1 2 3 4 |
AuthType Basic AuthName "test user" AuthUserfile /etc/httpd/htpasswd Require valid-user |
解決方法
Apacheインストール後初めからhttpd.confの<Directory "/var/www/html"></Directory>内に、Require all grantedが記述されていました。
Require all grantedだと全アクセス許可となるので、Basic認証を行わずWEBページが表示されてしまいます。
Require all grantedをRequire valid-userに変更する事で、Basic認証を通ったユーザーのみアクセス許可となり解決しました。
1.Basic認証
1.ユーザ作成
-cをつける事で新規パスワードファイルを作成します。
|
1 |
htpasswd -c /etc/httpd/htpasswd test1 |
2.vi /etc/httpd/conf/httpd.confで設定ファイルに下記記述を追加する。
|
1 2 3 4 5 6 |
# Basic認証を指定 AuthType Basic # 認証領域を指定 AuthName "test user" # パスワードファイルを指定 AuthUserfile /etc/httpd/htpasswd |
この時点ではRequire all grantedとなっている為、Basic認証が行われません。
3.vi /etc/httpd/conf/httpd.confで設定ファイルの下記記述を変更する。
|
1 2 3 |
Require all granted ↓ Require valid-user |
4.Apache再起動
|
1 |
systemctl restart httpd |
まとめ
今回はBasic認証のハンズオンについて書かさせていただきました。
初歩的なつまづきでしたが、初学者の方達の参考にしてもらえればと思います。
Basic認証は簡単にアクセス制限をかける事が可能です。
しかしセキュリティレベルが高いとは言えませんので、ご使用の際はお気をつけください。
最後までご覧いただきまして、誠に有難うございました。



