【发布时间】:2020-11-05 01:39:34
【问题描述】:
我想用密码保护我的 Django 网站的单个页面(我不想使用 Django 的身份验证系统,我已经在我网站的其他部分使用该系统;这是一个不相关的一次性)将此添加到我的 nginx.conf:
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
如果我评论上面的行,我可以正确地以访客身份访问该页面。我做错了什么?
【问题讨论】:
-
在这个位置你的请求不会发送到 django 后端并试图由一些静态文件
/your/root/myprivatepage或/your/root/myprivatepage/index.html等提供服务,这对你来说不是很明显吗?如果您想使用此身份验证机制,您应该复制此位置中的所有后端配置(proxy_pass或uwsgi_pass或您正在使用的任何内容)。 -
谢谢 - 不,在您指出之前并不明显(仍在学习,一点一点)。在您发表评论之前,我发现了这个:serverfault.com/questions/917226/…,它为我指明了正确的方向。