2012-02-29 6 views
0

lighttpで以下のように実行されるDjangoプロジェクトがあります。私は特別なセキュリティ手段として、私のdjangoの管理パネルにアクセスする特定のIPアドレスをブロックしようとしています。 (私はそれが完全な解決ではないことを認識している)fastcgiを使ってDjangoプロジェクトでlighttpのIPアドレスアクセスを制限する

私がやっていることは何故か働かない。

マイ設定:

$HTTP["host"] =~ "(^|\.)project\.whateverdomain\.com$" { 
    fastcgi.server = (
     "/django.fcgi" => (
      "main" => (
       "socket" => env.HOME + "/project/project.sock", 
       "check-local" => "disable", 
      ) 
     ), 
    ) 
    alias.url = (
     "/media" => env.HOME + "/project/project/media", 
     "/static" => env.HOME + "/project/project/static", 
    ) 

    $HTTP["url"] =~ "/static" { 
     expire.url = ("" => "access plus 2 months") 
    } 
    $HTTP["url"] =~ "/media" { 
     expire.url = ("" => "access plus 2 months") 
    } 
    $HTTP["remoteip"] == "1.2.3.4" { # <----- this here doesn't work 
      url.access-deny = ("/admin") 
     } 
    } 



    url.rewrite-once = (
     "^(/media.*)$" => "$1", 
     "^(/static.*)$" => "$1", 
     "^/favicon\.ico$" => "/media/favicon.ico", 
     "^(/.*)$" => "/django.fcgi$1", 
    ) 
} 

ありがとう!

+0

あなたはserverfaultでより多くの回答を得るかもしれません。 – dm03514

答えて

0

これを行うシンプルなミドルウェアを作成できます。サーバレベルでIPをブロックする方がパフォーマンスは向上しますが、ブラックリストに載っているIPをチェックする小さなミドルウェアを作成する方が使いやすいでしょう。サーバーの設定ファイルを編集する代わりに、モデルを作成して管理者にIPを追加することができます。

関連する問題