我试图根据URL密码保护我的Django网站的某个部分。说我已经获得了我想要密码保护的URL /protected/section/
(该URL也将采用URL参数,但我认为它们将在所有这些之后进行处理)。
所以我已将此添加到我的Nginx配置中:
location /protected/section/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.demo.htpasswd;
}
我已经生成了.htpasswd
这样的文件:
htpasswd -c /etc/nginx/.demo.htpasswd demo
所以现在当我访问http://mysite/protected/section/
时,我会收到密码提示,但是当我输入密码时,我收到404错误。我需要添加另一行,以便像所有其他请求一样将请求传递给Django(通过Gunicorn)吗?我认为在认证之后,请求将被视为没有限制的情况。
答案 0 :(得分:0)
因此,以下是我myapp.conf
文件中适用的相关位:
upstream appinstances {
server 127.0.0.1:5001;
}
server {
listen 80;
server_name myapp.example.com;
location ^~/manage/ {
satisfy any;
auth_basic "Restricted Area";
auth_basic_user_file /etc/linotp2/admins;
deny all;
proxy_pass http://appinstances;
proxy_redirect off;
}
... # the rest of the config
}
我把头撞了一会儿。希望它有所帮助。