2017-01-04 21 views
1

私のサイトのログインページにアクセスするのに問題があります。それはそれを見てdjango-axesアクセスログミドルウェアがありますnginxはdjango-axes(アクセスログミドルウェア)にヌルIPアドレスを与えています

from axes.decorators import watch_login 
@method_decorator(watch_login, name="dispatch") 
class UserLogin(FormView): ... 

ログインページの結果にGETリクエストで:

タイプの

DataErrorで/パス/に/ログイン/

無効な入力構文inet: "b" '

トレースバックのIPアドレスは、b''です。だから私はnginx proxy is not passing thisと思います。私はdjango-axes作業を取得するために私のnginxの設定から何をしないのです

upstream app_servers { 
    server unix:/tmp/gunicorn.sock; 
} 

location/{ 
    proxy_pass   http://app_servers; 
    proxy_redirect  off; 
    real_ip_header  X-Real-IP; 
    proxy_set_header Host     $http_host; 
    proxy_set_header User-Agent    $http_user_agent; 
    proxy_set_header X-Real-IP    $remote_addr; 
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto  $scheme; 
} 

:ここ

は私のnginxのsites-available設定(これをデバッグしながら、私は、SSLを有効にしていない)の抽出物ですか?

答えて

2

AXES_BEHIND_REVERSE_PROXYを設定するのを忘れている可能性があります。 django設定でTrueに設定すると、django-axesにHTTP_X_FORWARDED_FORヘッダーが表示されます。

  • AXES_BEHIND_REVERSE_PROXYTrue場合、それはAXES_REVERSE_PROXY_HEADERで定義されたヘッダからIPアドレス を探します。この設定を有効にして、ヘッダーに正しい 値を設定する場合は、 を確認してください。そうしないと、すべての要求にこの ヘッダーを直接設定することで攻撃を受ける可能性があります。デフォルト:False

  • AXES_REVERSE_PROXY_HEADERAXES_BEHIND_REVERSE_PROXYTrue、 であれば、それはこのヘッダからIPアドレスを検索します。デフォルト:働い HTTP_X_FORWARDED_FOR

+0

!ありがとうございました;前回は軸を0.4回使用していましたが、その時点でこれを手動で指定する必要はなく、まだ変更を取得していませんでした。 – Escher

関連する問題