django-rest-frameworkを使用しています。私は、nginxの背後にある運用環境でHTTP 403エラーを受け取っています。私がGET操作をサポートするためにAPIViewから継承特定のビューを呼び出すと、私が手:django restフレームワークは、nginxの背後にあるときは403を返しますが、直接は受け入れません。
{"detail": "Invalid username/password"}
をしかし...私はブラウザのみでこれを取得します。非常に同じURLのためにカールを使用すると、私はそれを取得しません。私はURLに直接ヒットした場合でも、AJAX経由でURLを読み込んだ場合でも、ChromeとFirefoxの両方でこのエラーが発生します。
最初に管理者アカウントでDjango管理者からログインしてもエラーは発生しません。
また、私はこれを得るには、nginxの後ろから実行しています。私がDjangoデベロッパーサーバー、またはgunicornを実行してポートに直接アクセスすると、うまくいき、匿名でURLを幸せに叩くことができます。私はこの前にnginxを置く場合、同じgunicorn/runserverに転送するには、私はこのエラーが発生します。
多分私のnginx proxy_passの設定と関係がありますか?
location/{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
私はdjango rest framework 2.2.6、Django 1.5、nginx 1.2.7を実行しています。
休止フレームワークでスロットリングを愚かな数値に設定し、既定ですべてが開いているように見えるアクセス許可を調べましたが、明示的に設定されています。
誰でも正しい方向に向けることができますか?
ありがとうございます!
ルド。
django-rest-frameworkの認証設定はどうですか? – iMom0
私はちょうど適切と思われるデフォルトを使用しています。 – Ludo