我正在使用 Nginx 运行 CentOS 6。它目前运行良好,我正在尝试密码保护我的管理目录。我可以成功登录。但是,当我尝试查看目录中的主索引页面 (index.php) 时,我得到了 403 Forbbiden。
2013/04/18 02:10:17 [error] 17166#0: *24 directory index of "/usr/share/ngin/html /somedir/" is forbidden, client: XXX, server: mysite.com, request: "GET /somedir/ HTTP/1.1", host: "mysite.com"
我已经仔细检查了“.htpasswd”文件的权限。它属于 chmod 640 的“root:root”。我也尝试将 owner ship 设置为“nginx:nginx”,但错误仍然存在。
这就是我让 htpasswd 工作的方式:
location ~ ^/([^/]*)/(.*) {
if (-f $document_root/$1/.htpasswd) {
error_page 599 = @auth;
return 599;
}
}
location @auth {
auth_basic "Password-protected";
auth_basic_user_file $document_root/$1/.htpasswd;
}