AN HTTPD ゲストブック/コメント集(2003年1月24日12:03)


中田昭雄 nakata@st.rim.or.jp 2003/01/24 21:23

ようさん、
なぜドキュメントルートを C:\httpd\A にして、なおかつ /A C:\httpd\A というエイリアスを設定しているのか意図がわかりません。
その設定では、http://****.net/A も http://***.net も 同じ C:\httpd\A のことになっていまいます。
その場合はちひゃさんの言うとおりで / で認証を設定する必要があります。
/ と /A が同じなので 両方認証を設定すればいいのですが、/A は / に認証を設定していればそれに含まれますから /A の認証設定は不要ということです。

それよりも、ドキュメントルートを C:\httpd にすればいいのではないでしょうか。
エイリアスを設定しなくても /A は C:\httpd\A になりますから、C:\httpd\A に対して認証をしたければ /A で認証を設定すればそれでいいはずですね。

全体のディレクトリ構成がどうなっていてどこに認証を設定したいのか説明してもらった方がよいと思いますが。
なお、/ で始まるURLパス(仮想パス)と C:\ で始まるローカルパスを区別してくださいね。ユーザ認証で設定できるのは URLパスの方です。


ちひゃ chihya@nifty.ne.jp 2003/01/24 17:29

To ようさん

ディレクトリ c:\httpd\A はそのままで良いです。
URL側から見ると、これが ドキュメントルート / ですから、
認証を /A ではなくて / に設定すれば良いだけだと思います。

あと蛇足ですが.....

テストだから一時的にそうなってしまっているだけかもしれませんが、
ユーザ認証で、グループ名 と ユーザ名 に同じ文字を設定するのは良くないかも知れません。

ユーザに対して認証を設定したつもりで、グループに効いてしまったら
許可するつもりでない人にまでアクセスを許可してしまうからです。

ちひゃ


よう norihei@arima.eeyo.jp 2003/01/24 15:18

CHIHYAさま
ご親切な指摘ありがとうございました。私はDNSを使っていますのでさっそく
http://****.net/Aで試してみたところうまく行きました。ではindexにたどりつくまでの
ルートに/Aを書かなくてhttp://****.netとするには、Aのディレクトリはなくさないといけないのでしょうか。
どこを、変更するとうまく行くのかお教えください。
よろしく!


ちひゃ chihya@nifty.ne.jp 2003/01/24 14:37

To ようさん

まず、「ユーザ認証」タブの一番左上の「ユーザ認証」にチェック入っていますよね(^^;

で、この設定だと index.html に到達するルートが2つあると思います。
(IPは仮に 127.0.0.1 としています。)

(1) http://127.0.0.1/index.html
(2) http://127.0.0.1/A/index.html

(1) は、ドキュメントルート 経由のアクセス
(2) は、エイリアス の 一般パス 経由のアクセスです。

ここで、認証が効くのは (2) の方ですが、こちらでアクセスしていますか?

認証 に設定する パス は URL に対して効くので、
たとえ実際の場所が同じだったとしても表記が違うと無効になってしまうと思います。

この場合、URL に /A が含まれている(2)の方でないと 認証 の対象にならないです。

ちひゃ


よう norihei@arima.eeyo.jp 2003/01/24 12:03

教えてください
AN httpdでサーバを立ち上げています。OSはWinMeです。ユーザ認証が出来ません
cドライブにhttpdというフォルダをつくり、その下にAというフォルダを作っています
Aの中にindex.htmlを置いています。
このAをプロテクトしたいのですが、うまくゆきません。ANHTTPDでの設定は以下のようになっています。
なお、認証名は?? ユーザはTEST グループはTEST
一般
ドキュメントルート C:\httpd\A
エイリアス
一般パス
/A C:\httpd\A
ユーザ認証
認証名
??:/A/:TEST
ユーザ
TEST:******(パスワード)
グループ
TEST:TEST
ルータで別のパソコンで見ると、素道りしていまいます。
よろしく、ご指導ください