Python Django使用Ngnix+Gunicorn进行基本身份验证失败
我正在尝试使用nginx平衡2台gunicorn服务器的负载。我需要在应用程序上有基本的身份验证,所以我想我应该将身份验证粘贴到nginx服务器上 然而,由于某些原因,当我在nginx服务器上启用基本身份验证时,我的Django完全失败。在我的nginx conf中禁用basic后,一切都能正常工作Python Django使用Ngnix+Gunicorn进行基本身份验证失败,python,django,nginx,gunicorn,Python,Django,Nginx,Gunicorn,我正在尝试使用nginx平衡2台gunicorn服务器的负载。我需要在应用程序上有基本的身份验证,所以我想我应该将身份验证粘贴到nginx服务器上 然而,由于某些原因,当我在nginx服务器上启用基本身份验证时,我的Django完全失败。在我的nginx conf中禁用basic后,一切都能正常工作 upstream backend { server 10.0.4.3; server 10.0.4.4; } server { listen 80; lo
upstream backend {
server 10.0.4.3;
server 10.0.4.4;
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_set_header REMOTE_USER $remote_user;
}
location /orders
{
auth_basic "off" ;
}
}
这是我的nginx配置
upstream backend {
server 10.0.4.3;
server 10.0.4.4;
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_set_header REMOTE_USER $remote_user;
}
location /orders
{
auth_basic "off" ;
}
}
这就是我得到的错误:
Error importing module keystone_auth.backend: "No module named keystone_auth.backend"
我想我可能需要通过一些标题。在Django上有没有另一种获得基本auth的方法,记住它需要负载平衡。或者我的ngnix配置缺少一些东西?keystone_auth.backend错误地包含在另一个设置文件中,我仍然无法让BasicAuth工作,但最终通过编写我自己的auth后端解决了问题,如本文所述
包括强制性的基本授权超过80是不赞成生产至少。你在django那边做得怎么样?在我看来,似乎只需要使用远程用户中间件,所以我不确定keystore\u auth.backend在哪里发挥作用