2012-08-01 85 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