2016-07-06 3 views
1

私は実動サーバーと同じソースコードを持つステージングサーバーを持っています。 私はステージングサーバーの外部に公開したいので、ユーザーをステージングサーバーに制限するためにhtaccessを使用することを考えました(そして、ロボットと他人を外部に保つ)。Django:htaccessを使用してdjangoアプリケーションを保護する

何とか私のために働いていない。私は

/var/www/djangoapp/ 

の.htaccessに.htaccessファイルを置い

sudo htpasswd -cs /var/.passwd staging 

PASSWORDFILEを作成

AuthUserFile /var/.passwd 
AuthType Basic 
AuthName "Just testing" 
Require valid-user 

は私が保証:

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

Apacheの再起動:

sudo service apache2 restart 

Djangoのアプリケーションがまだ皆のために利用可能です。私は間違って何をしていますか?

+1

パスワードファイルの名前を.htpasswd – Lag

+0

にする必要があります。これは私には奇妙に見えます。いずれにしても、Djangoアプリのファイルがフリーの世界に公開されるのはなぜですか?それらをApacheのルートの外側に置き、仮想ホストを適切に設定します。 – Wtower

+0

名前を.htpasswdに変更しました。問題は残ります – caliph

答えて

1

私はhtaccessなしで上記の目標の代わりの解決策を見出しました。 私は共有したいと思います。このソリューションは、あなたのサーバー上でこの設定ファイルへのアクセス権を持っている場合にのみ機能します。もちろん、

<Directory /var/www/djangoapp/djangoapp> 
     AuthUserFile /var/.htpasswd 
     AuthName "Just testing" 
     AuthType Basic 
     Require valid-user 

     <Files wsgi.py> 
      Require valid-user 
     </Files> 
     WSGIApplicationGroup %{GLOBAL} 
</Directory> 

を000デフォルト-confの中でそれぞれのVirtualHostセクションで。とにかくそれは私の問題を解決しました。 私の質問の元の設定が私のために働いていない理由を理解できませんでした。

関連する問題