【发布时间】:2022-01-16 21:00:13
【问题描述】:
我使用 AWS Elastic beanstalk 和 S3 部署了我的 django 项目, 我尝试上传个人资料头像,但显示服务器错误(500)
我的哨兵日志显示, “调用 PutObject 操作时发生错误 (IllegalLocationConstraintException):eu-south-1 位置约束与此请求发送到的区域特定端点不兼容。”
我认为出现了这个错误 因为我将存储桶放在 eu-south-1 上,但我尝试访问它并在韩国首尔创建一个新对象。
此外,AWS 文档说 IllegalLocationConstraintException 表示您正在尝试从与存储桶所在区域不同的区域访问存储桶。为避免此错误,请使用 --region 选项。例如:aws s3 cp awsexample.txt s3://testbucket/ --region ap-east-1。 (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html)
但此解决方案可能仅适用于从 AWS CLI 上传文件时...
我尝试通过添加它来更改我的存储桶策略,但不起作用。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::{BucketName}/*"
}
]
}
我不知道我应该怎么做,为什么他们不允许从其他地区访问? 如何允许从世界各地访问创建、更新和删除我的存储桶中的对象? 这是我的第一次部署,请帮帮我????
【问题讨论】:
标签: django amazon-web-services amazon-s3 deployment amazon-elastic-beanstalk