0

我创建了一个数字海洋存储空间。空间的 url 是这样 https://storagespace.nyc3.digitaloceanspaces.com 但是,当我单击 url 在浏览器上打开时,我收到以下错误:

<Error>
<Code>AccessDenied</Code>
<BucketName>storagespace</BucketName>
<RequestId>tx000000000000001618a5e-0081246af3-1805687a-nyc3c</RequestId>
<HostId>1805987a-nyc3c-nyc3-zg03</HostId>
</Error>

我不知道这个错误是什么意思或为什么我有它。我将 s3 存储桶与我的 django 网站连接起来,静态文件也没有提供给浏览器,而是出现 403 禁止错误。请问如何消除这个access denied错误?

4

1 回答 1

1

tl;博士遵循他们的官方教程:https ://www.digitalocean.com/community/tutorials/how-to-set-up-a-scalable-django-app-with-digitalocean-managed-databases-and-spaces

不幸的是,我们并不真正知道您使用的是什么包(例如您是否使用 Django-storages 将这些静态文件传输到 S3?)。我对数字海洋没有经验,但这里有一些事情可以尝试:

正如您在教程中看到的那样,它们具有我认为数字海洋为您提供的这些设置:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/

# Moving static assets to DigitalOcean Spaces as per:
# https://www.digitalocean.com/community/tutorials/how-to-set-up-object-storage-with-django
AWS_ACCESS_KEY_ID = 'your_spaces_access_key'
AWS_SECRET_ACCESS_KEY = 'your_spaces_secret_key'

AWS_STORAGE_BUCKET_NAME = 'your_space_name'
AWS_S3_ENDPOINT_URL = 'spaces_endpoint_URL'
AWS_S3_CUSTOM_DOMAIN = 'spaces_edge_endpoint_URL'
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
AWS_DEFAULT_ACL = 'public-read'

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

STATIC_URL = '{}/{}/'.format(AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATIC_ROOT = 'static/'
于 2021-08-24T04:34:25.457 回答