0

Heroku にデプロイされている Django(3) プロジェクトに取り組んでいます。Django ストレージを使用して AWS S3 に接続し、静的ファイルとメディア ファイルを S3 バケットにアップロードしようとしています。

注:私はたくさんグーグルで検索し、見つけたすべての解決策を試しましたが、私の問題を解決するものは何もないので、これを重複としてマークしないでください!

パブリック アクセスを有効にして S3 バケットを作成し、次の CORS 構成を追加しました。

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]

また、プログラムによるアクセス権を持つ IAM ユーザーを作成し、次の権限を付与します。S3FullAccess

そして、これが私が持っているものです**settings.py**

AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_QUERYSTRING_AUTH = False
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
AWS_S3_REGION_NAME = 'us-east-1'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

バケットからファイルを直接開くと、ブラウザでファイルを見ることができますが、サイト (pythonist.org) をロードすると、これらのファイルは次のように返されます。403 forbidden

ファイルに対するブラウザーの [ネットワーク] タブからの応答は次のとおりです。

Summary
URL: https://s3.amazonaws.com/pythonist.org/css/normalize.css
Status: 403 Forbidden
Source: Network
Initiator: 
pythonist.org:18

ここで何が問題なのかわかりません。よろしくお願いします。

4

1 に答える 1