我正在尝试使用nginx设置子文件夹的基本身份validation。
location ^~ /Docs/ { auth_basic "Restricted Area"; auth_basic_user_file /var/www/Docs/.htpasswd; //also tried the path in quotes }
我已经尝试了很多方法来生成一个密码(例如apache的htpasswd ),但我无法使用.htpasswd中指定的用户名和密码login/ Docs。 我看到“限制区域”的validation对话框,但密码不被接受。
我试过这里的方法:
你有没有尝试过使用绝对位置path?
location /Docs { auth_basic "Restricted Area"; auth_basic_user_file /var/www/Docs/.htpasswd; }
如果这样做,你可能要么(A)将密码文件移到Web根目录之外,或者(B)保护密码文件不被提供:
location ~ /\. { deny all; }
你确定你创build的文件是可读的用户nginx正在运行?
事实certificate,这是由于没有正确传递身份validation头的Squidcaching代理引起的。 这是通过运行类似于以下内容的certificate:
curl -i --user qqq:qqq http://target.server/Docs/dump.php |grep AUTH
其中dump.php包含<php phpinfo();
在squid背后的服务器的情况下,该命令的输出是空的,我期望看到_SERVER["HTTP_AUTHORIZATION"]