Невозможно загрузить файлы в S3 из Django на Amazon Lightsail, несмотря на то, что локально все работает нормально с теми же учетными данными и политикой
Я столкнулся с проблемой, когда я могу успешно загружать файлы в мое ведро S3 локально, но сталкиваюсь с проблемами при попытке загрузки с моего сервера. Вот подробная информация:
Django Settings
Settings.py (соответствующие части):
STATIC_URL = "https://my-cdn.s3.amazonaws.com/static/"
STATICFILES_STORAGE = env("STATICFILES_STORAGE")
AWS_ACCESS_KEY_ID = env("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = env("AWS_SECRET_ACCESS_KEY")
AWS_STORAGE_BUCKET_NAME = env("AWS_STORAGE_BUCKET_NAME")
AWS_S3_REGION_NAME = env("AWS_S3_REGION_NAME")
DEFAULT_FILE_STORAGE = env("DEFAULT_FILE_STORAGE")
MEDIA_URL = env("MEDIA_URL")
S3 Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-cdn/*"
},
{
"Sid": "AllowPutObject",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::id:user/my-cdn"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-cdn/*"
}
]
}
Выпуск:
- Локальная среда: Загрузка файлов в ведро S3 работает отлично.
- Amazon Lightsail Server: Загрузка не удается (никаких логов), но учетные данные и политика остаются прежними.