2017-12-05 15 views
0

だから私はAngular + Django REST APIのアプリケーションをnginx + gunicornにホストしています。
私は奇妙な問題に直面しています。 Djangoがパブリックメディアフォルダに保存すると、エラー403

location /media { 
    alias /home/shalin95/zona_project/zona_api/media; 
    expires 20m; 
} 

私は main_pictureフィールドを持つモデル ProductImageField /media/photos/にファイルを保存する)を持っている:私は私のメディアフォルダのpermisssionsが 777に設定されており、私のnginxの設定ファイルを持っています。 新しいインスタンス(新製品)を作成するときに、時にはブラウザで画像を開くときに、 403 Forbiddenエラーが発生することがあります。

注:私が行くとchmod -R 777メディアフォルダのすべてが(私は絵を見ることができる)大丈夫ですが、なぜこの場合、これは(単にランダム、なし特定のパターン)ではない保存されたすべてのインスタンスで、時折

感謝起こりますいくつかの機会に起こる?

+0

あなたは 'alias'の代わりに' root'を使用するべきではありませんか? これを試してください: 'root/home/shalin95/zona_project/zona_api' –

+0

これは本当に問題を解決するものですか?私は 'alias'と' root'の違いを見てきましたhttps://innopy.wordpress.com/2016/01/18/nginx-static-file-serving-confusion-with-root-alias/これには何かがありますかここの価値? – lcadc17

+0

Ngnixには別のユーザーがいますか?あなたはそのディレクトリにNginix(ユーザー)のためのaclを作ることができますか?次にaclをデフォルトにすると、新しいファイルが作成されるたびにngnixがそのファイルにアクセスします。あなたのディストリビューションは何ですか? –

答えて

0

ので、私は考えて、この問題が唯一の要求は(〜4メガバイト)よりも大きかった場合にのみ発生と結論づけましたので、私はsettings.pyファイルに

FILE_UPLOAD_MAX_MEMORY_SIZE = 100000000 
FILE_UPLOAD_PERMISSIONS = 0o644 

を追加しましたし、今のアップロードは大丈夫働きます。

関連する問題