2012-08-01 86 views
1

我已经完成了基于django的第一个网站,我准备在liveserver上部署。不过,我不想让这个网站在调整和测试的时候对公众可见。apache mod_wsgi django应用程序的基本身份验证

在PHP网站上,我总是使用基本的http验证通过.htaccess进行最后的更改。这是一个拒绝整个网站访问的双线程。

理想我想运行这样一个环境:

  • static.mydomain.com(由Apache2的静态文件服务)
  • mydomain.com(通过与mod_wsgi的最新的稳定版本的Apache2服务 - >供公众)
  • dev.mydomain.com(用mod_wsgi的开发/测试的Apache2服务 - >不供公众(基本身份验证))

可以这样做与Django的/的Apache2 /平方米od_wsgi?

回答

1

您可以为虚拟主机dev.mydomain.com设置基本身份验证。看看http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.htmlhttp://httpd.apache.org/docs/2.2/vhosts/name-based.html更多细节

编辑:您的虚拟主机的配置看起来像财产以后:如果你使用HTTP认证了它

<VirtualHost *:80> 

    ServerName mydomain.com 
    DocumentRoot /srv/www/wsgi 

    <Directory /srv/www/wsgi> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//srv/www/wsgi/app.wsgi 

</VirtualHost> 

<VirtualHost *:80> 

    ServerName dev.mydomain.com 
    DocumentRoot /srv/www/wsgi-dev 

    <Directory /srv/www/wsgi-dev> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//srv/www/wsgi-dev/app.wsgi 

    <Location /> 
     AuthType Basic 
     AuthName "Restricted Files" 
     AuthUserFile /usr/local/apache/passwd/passwords 
     Require valid-user 
    </Location> 

</VirtualHost> 
+0

我觉得提问者已经想通了这一点了,因为他们已经实现了它自己的PHP应用程序... – 2012-08-01 15:08:58

+1

有效的用户线应该是: '需要有效-user' – 2017-09-12 20:31:20

1

mod_wsgi的不关心。唯一的规定是,如果你希望它对WSGI应用程序可见,那么你需要使用WSGIPassAuthorization,但在这种情况下这不是一个问题,因为Django具有独立于HTTP验证的自己的身份验证方案。

+0

澄清WSGIPassAuthorization如果Python网络只需要应用程序是处理HTTP基本身份验证的应用程序。如果Apache仍然使用Auth指令处理它,则不需要设置WSGIPassAuthorization。无论Apache处理它,REMOTE_USER仍将传递给WSGI应用程序。 – 2012-08-02 01:05:27