密码保护链接在Django和Nginx中提供404
我想通过将以下内容添加到我的nginx.conf中,对Django网站的单个页面进行密码保护(我不想使用Django的身份验证系统,我已经在网站的其他部分使用该系统;这是一个不相关的一次性系统):密码保护链接在Django和Nginx中提供404,django,nginx,Django,Nginx,我想通过将以下内容添加到我的nginx.conf中,对Django网站的单个页面进行密码保护(我不想使用Django的身份验证系统,我已经在网站的其他部分使用该系统;这是一个不相关的一次性系统): location /myprivatepage { auth_basic "Private page"; auth_basic_user_file /etc/nginx/.htpasswd; } 并将用户和密码放入/etc/nginx/.htpasswd。当我将浏览器指向/myp
location /myprivatepage {
auth_basic "Private page";
auth_basic_user_file /etc/nginx/.htpasswd;
}
并将用户和密码放入/etc/nginx/.htpasswd
。当我将浏览器指向/myprivatepage时,浏览器确实会询问用户和密码。成功验证后,我会收到一个404错误:
404 Not Found
nginx/1.14.2
如果我对上面的行进行注释,我可以正确地作为来宾访问页面。我做错了什么?我发现了问题所在。我需要重复这两句话:
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
(已在
/location指令中)在/myprivatepage location
说明中。对于您来说并不明显,您的请求不会进入django后端,并试图由某个静态文件/your/root/myprivatepage
或/your/root/myprivatepage/index.html
等提供服务?如果您想使用此身份验证机制,您应该复制此位置内的所有后端配置(proxy\u pass
或uwsgi\u pass
或您正在使用的任何配置)。谢谢-不,在您指出之前它并不明显(仍在学习,一点一点)。在你发表评论之前,我发现了这一点:它为我指明了正确的方向。