前提・実現したいこと、発生している問題
本番環境にDjangoのアプリをデプロイしました。
管理画面に接続し「django-axes」のAccess AttemptsとAccess logsを
クリックするとサーバーエラー 500が発生します。
各項目のエラー発生条件は異なっていて、
・ログイン失敗回数がない(※ゼロ)時
→Access Attemptsをクリックすると、正常に管理画面ページが表示され、Attemptsは「0」と表示されます。
→Access logsをクリックすると、画面上に「Server Error 500」のみ表示されます。
・1度でもログイン失敗している場合
→Access AttemptsとAccess logs両方とも、クリックすると画面上に「Server Error 500」のみ表示されます。
試したこと
・settings.pyに下記を追記しましたが、改善しませんでした。
AXES_META_PRECEDENCE_ORDER = ('HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR')
・開発環境の時は正常に動作していました。
開発環境の時と変更したことは、データベースを「sqlite3」から「MariaDB」に変更しました。
django-environを使用して、データベースの情報は環境変数で管理しています。
MariaDBにユーザーを作成してデータベースを作成し、下記で接続しています。
mysql://USER:PASSWORD@HOST:PORT/NAME
・その他、下記の設定はしている状態です。
AUTHENTICATION_BACKENDS = [ 'axes.backends.AxesBackend', # ここを追加 'django.contrib.auth.backends.ModelBackend', ] MIDDLEWARE = [ (省略) 'axes.middleware.AxesMiddleware', # ここを追加 ]
・Djangoアプリ上で使用しているデータベースへの追加は、管理画面から行うことができました。
・本番環境上で「python manage.py axes_reset」をしてみたところ、
「1 attempts removed」のように表示されました。
調べてみましたが、原因がよくわかりません…。
ご教授頂きたく、よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
本番環境(さくらVPS、CentOS7、nginx1.20.1)
django 3.1.7
django-axes 5.15.0
Python
あなたの回答
tips
プレビュー