Botocore ClientError возникает при сборе статических файлов в приложении django

Я использую AWS S3 bucket для своих проектов, чтобы обслуживать статические и медиафайлы. Я использовал S3 bucket для моих предыдущих проектов django, и он работает нормально. Но в моем текущем проекте он выдает следующую ошибку при использовании команды python manage.py collectstatic.

botocore.exceptions.ClientError: Произошла ошибка (403) при вызове операции HeadObject: Forbidden

>

Я использовал правильные настройки S3, а также сделал свой S3 bucket публичным. Но я не знаю, почему возникает эта ошибка. Пожалуйста, помогите мне решить эту проблему. Заранее спасибо.

Мой код

if config("USE_S3", cast=bool) == True:

    # aws settings

    AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY')
    AWS_STORAGE_BUCKET_NAME = config('AWS_STORAGE_BUCKET_NAME')
    AWS_S3_REGION_NAME = 'us-east-1'
    AWS_DEFAULT_ACL = None
    AWS_S3_FILE_OVERWRITE = False
    AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
    AWS_S3_OBJECT_PARAMETERS = {
        'CacheControl': 'max-age=86400'
        }
    # s3 static settings
    STATIC_LOCATION = 'static'
    STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/{STATIC_LOCATION}/'
    STATICFILES_STORAGE= 'storages.backends.s3boto3.S3Boto3Storage'
    
else:

    MEDIA_URL = '/mediafiles/'
    MEDIA_ROOT = os.path.join(BASE_DIR, "mediafiles")
    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static")
    ]

Моя политика ведра

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}

Моя настройка корсета,

[
    {
        "AllowedHeaders": [
            "Authorization",
            "Content-Range",
            "Accept",
            "Content-Type",
            "Origin",
            "Range"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "Content-Range",
            "Content-Length",
            "ETag"
        ],
        "MaxAgeSeconds": 3000
    }
]

Ошибка в консоли,

Вернуться на верх