我的NGINX服务器块中有以下位置块:
location ~ ^/admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?uri=$1;
}
}
但是它不起作用。 /etc/nginx/.htpasswd文件存在,并且是使用htpasswd命令生成的:
sudo htpasswd -c /etc/nginx/.htpasswd admin
我之前已经做过,但是这次只是停止工作了。这次的唯一区别是,这次我试图在重写块内执行auth_basic_user_file。
该配置将不起作用,因为重写阶段if XYZ
将始终在访问阶段auth_XYZ
之前运行,无论您如何将它们布置在位置块中。
除了已经拥有的身份验证之外,还需要向您的php块添加身份验证要求。