QA2: index.htmlファイルが存在しないディレクトリにアクセスした際認証画面が表示される
【質問】
ディレクトリ配下に/index.html /index.htm /index.jsp等が無い場合に、
ディレクトリを直接指定してSun Java System Web Server 7.0にアクセスすると
下記のようなBasic認証のポップアップウィンドウが表示されます。
これを、Apache の「Options Indexes」の無効化と同じように認証画面を
表示させずに、アクセス禁止の画面を表示させるためにはどのようにしたらよいでしょうか?
【回答】
Sun Java System Web Server 7.0では仮想サーバを作成した際にデフォルトで
アクセス権限を設定しています。
/sun/webserver7にWeb Serverをインストールし仮想サーバ名をjse8-078とした場合、
アクセス権限の設定ファイルは下記に記載されています。
/sun/webserver7/https-jse8-078/config/default.acl
デフォルトの設定では、「認証データベース」に存在する全てのユーザ(all)に
対して、write,delete,listの許可を与えています。
そこで、全てのユーザ(anyone)に対して不許可の
設定を行うことで、Basic認証画面は表示されなくなり、またディレクトリ表示も
無効にできます。
変更前:
# File automatically written # # You may edit this file by hand # version 3.0; acl “default”; authenticate (user,group) { method = “basic”; prompt = “Sun Java System Web Server”; }; allow (read,execute,info) user = “anyone”; allow (write,delete,list) user = “all”; |
変更後:
# File automatically written # # You may edit this file by hand # version 3.0; acl “default”; authenticate (user,group) { prompt = “Sun Java System Web Server”; }; deny (delete,list,info) user = “anyone”; allow absolute (read,write,execute) user = “anyone”; |
変更後の動作確認:
直接URLを指定して接続を行います。
如何でしょう、ディレクトリの表示もされなくなり、認証用の画面も
表示されなくなりました。
Entry filed under: General.