phpMyAdmin、MemcacheMyAdminなどの管理ユーティリティを含むNginx Poweredサイトのディレクトリをパスワードで保護しようとしています。このディレクトリはで私のサイトのルートに配置され403禁止 - Nginx - 正しい資格情報を使用する
:私は使用してディレクトリ内の.htpasswdファイルを作成し
/home/deployer/sites/domain.com/control/
:
domain.com/control/
私のサーバー上の絶対パスであります
ファイルは存在し、 "root"ユーザーが所有し、アクセス許可は0644です。
Nginx内のこのドメインの.confファイルでは、次のロケーションブロックを使用して認証を要求します。
location /control {
auth_basic "Restricted Area: Control";
auth_basic_user_file /home/deployer/sites/domain.com/control/.htpasswd;
}
パスワードで保護されたディレクトリに移動すると、ユーザー名とパスワードの入力が求められます。以前に作成したクレデンシャルを入力すると、エラー403の禁止ページが表示されます。
アクセスログは、私がログインプロンプトを打つし、「管理者」ユーザーとしてログインしてることを私に示しています
64.123.456.225 - - [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 401 597 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 301 185 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:59 +0000] "GET /control/memcache/ HTTP/1.1" 403 199 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
エラーログには、次を示しています。
2013/05/12 17:31:01 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"
2013/05/12 17:31:09 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"
もしIそのサイトのNginx .confのAuthブロックを削除して、通常のようにページにアクセスできます。
ありがとうございました!
これは正しいです。 "index index.php;"を追加しました。ロケーションブロックにロードされ、ロードされます。 非常に高く評価されています。 –
jgpatrick3で別の回答をピギーバックするには、autoindexを使用しようとするとインデックスが問題になる可能性があります。なぜなら、認証が外部ディレクティブから 'autoindex on'を無効にするからです。認証されたゾーン内で「自動索引付け」を行う。 – Dubslow