検索エンジンで調べたのに出てこなかったので一応書いておく。
新しい(最新でないけど)apacheの機能検証をしていた。
"httpd.conf"の"<Directory>"に、ベーシック認証(基本認証)による接続制限をかけてみた。
AuthType Basic
AuthUserFile
require
で設定し、ブラウザでアクセスするとユーザーパス入力ダイアログボックス出てくるあれだ。
だが、ユーザーパスを入れるまでもなくページが表示されてしまう。
一方、".htaccess"で設定したものについてはちゃんと動作する。
どういうこと?
以前調べた時に、この認証は、".htaccess"ではなく、"httpd.conf"に設定し、合わせて"AllowOverride none"を設定すべきだという旨を見たはずだ。
それに則って設定していた。
そうでないと、なんらかの拍子で接続制限をしておいたwebフォルダに".htaccess"を全接続許可で放り込まれたら、誰でも接続できるようになってしまう。
だが今、それができなくなっている。
検索エンジンでNG状態を入れ調べてみたが、出てこない。
むう・・・と諦めかけていたところ、物の本に、「apache2.4以降は、"require all granted"を"#"でコメントアウトしないとベーシック認証が動かない」と書いてあった。
試してみると、はたして改善した。
ちゃんと動いたのだった。
apacheのバージョンは、枝番ついてたが"2.4"だった。
取りあえず改善したからよかったけど、こんな改変を検索して出てこないような状態にしているのにガッカリした。
ちゃんと勉強してないから強くは言えないのではあるけど。
後の人のために記載しておく。
ちなみ、apacheはwindows版。
新しい(最新でないけど)apacheの機能検証をしていた。
"httpd.conf"の"<Directory>"に、ベーシック認証(基本認証)による接続制限をかけてみた。
AuthType Basic
AuthUserFile
require
で設定し、ブラウザでアクセスするとユーザーパス入力ダイアログボックス出てくるあれだ。
だが、ユーザーパスを入れるまでもなくページが表示されてしまう。
一方、".htaccess"で設定したものについてはちゃんと動作する。
どういうこと?
以前調べた時に、この認証は、".htaccess"ではなく、"httpd.conf"に設定し、合わせて"AllowOverride none"を設定すべきだという旨を見たはずだ。
それに則って設定していた。
そうでないと、なんらかの拍子で接続制限をしておいたwebフォルダに".htaccess"を全接続許可で放り込まれたら、誰でも接続できるようになってしまう。
だが今、それができなくなっている。
検索エンジンでNG状態を入れ調べてみたが、出てこない。
むう・・・と諦めかけていたところ、物の本に、「apache2.4以降は、"require all granted"を"#"でコメントアウトしないとベーシック認証が動かない」と書いてあった。
試してみると、はたして改善した。
ちゃんと動いたのだった。
apacheのバージョンは、枝番ついてたが"2.4"だった。
取りあえず改善したからよかったけど、こんな改変を検索して出てこないような状態にしているのにガッカリした。
ちゃんと勉強してないから強くは言えないのではあるけど。
後の人のために記載しておく。
ちなみ、apacheはwindows版。