Apacheを2003年のビルドから、きしみなくクリーンな真新しい2.4.1ビルドにアップグレードしました。1つの明白なものを除いて、すべてがかなり良いようです:
httpd.confファイルには次のものがあります。
<Directory />
AllowOverride none
Options FollowSymLinks
AuthType Basic
AuthName "Enter Password"
AuthUserFile /var/www/.htpasswd
Require valid-user
</Directory>
これにより、指定された認証ファイル内のユーザーのみがサーバーにアクセスできるようになります-古いバージョンのApacheの場合と同じです。(正しい?)
ただし、機能していません。リクエストは認証なしで許可されます。ロギングをLogLevel Debugに切り替えると、アクセスについて次のように表示されます。
[Sat Mar 24 21:32:00.585139 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of Require all granted: granted
[Sat Mar 24 21:32:00.585446 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of <RequireAny>: granted
私はこれが何を意味するのか本当に知りません-私は(私の知る限り)私のファイルのいずれにも "Require all granted"または ""ステートメントがありません。
なぜこれが機能しないのか、どこでデバッグするのか?
更新:
SSLポートにプロキシを許可する仮想ホストがあります。私が入れたときと同じ内部のエントリを
<proxy *>
virtualhost configの句、それは動作します。で動作しないようです
<Directory>
句。次に、他のDirectory句(他のディレクトリに固有)の下に配置しようとしましたが、それも機能しませんでした。
また
以下のシェーンの質問から-ルート「/」ブロックを「/ tmp」ディレクトリに複製してみました。/ tmpディレクトリは正しく機能します!! だから-この問題はルートディレクトリにのみ特有のものですか???
<Directory>あなたが設定したものよりも優先されているApache設定の他の場所に、より具体的なブロックがあると思います/。
<Directory>動作していないリクエストに適用している他のブロックは何ですか?