CloudFront 上的 IllegalLocationConstraintException(对于 S3)
IllegalLocationConstraintException on CloudFront (for S3)
我已经创建了一个 S3,并且我成功地将文件上传到存储桶中。现在,我试图让它与 CloudFront 一起工作,但它给了我
IllegalLocationConstraintException
The ap-east-1 location constraint is incompatible for the region specific endpoint this request was sent to.
我的S3url是:http://my-bucket-name.s3.ap-east-1.amazonaws.com/assets/local/css/app.css(这个returns我的文件)
CloudFront 链接到 S3,url:https://id.cloudfront.net/assets/local/css/app.css(这个 returns 我是 IllegalLocationConstraintException)
在 S3 存储桶中 > 权限 >
“阻止 Public 访问”已关闭
“存储桶策略”是自动生成的:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "######"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
我做错了什么?
即使您 auto-select CloudFront 中的 S3 作为相关存储桶,您仍然需要手动放置您的位置才能使其正常工作。
更新:
我的问题是因为我的 CloudFront 源不在 us-east 中,当您 auto-select 您的存储桶源在 CloudFront 中时,它不会将位置前缀添加到 url .所以确保你像这样添加你的 s3 位置:
bucketname.s3.ap-east-1.amazonaws.com
- 转到您的 CloudFront 仪表板并单击分配 ID
- 转到 'Origins and Origin Groups' 选项卡
- select 你的来源然后点击'编辑
- 编辑 'Origin Domain Name' 以匹配此格式
bucketname.s3.regioncode.amazonaws.com
- 保存等待'deployed'状态
我已经创建了一个 S3,并且我成功地将文件上传到存储桶中。现在,我试图让它与 CloudFront 一起工作,但它给了我
IllegalLocationConstraintException
The ap-east-1 location constraint is incompatible for the region specific endpoint this request was sent to.
我的S3url是:http://my-bucket-name.s3.ap-east-1.amazonaws.com/assets/local/css/app.css(这个returns我的文件)
CloudFront 链接到 S3,url:https://id.cloudfront.net/assets/local/css/app.css(这个 returns 我是 IllegalLocationConstraintException)
在 S3 存储桶中 > 权限 >
“阻止 Public 访问”已关闭
“存储桶策略”是自动生成的:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "######"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
我做错了什么?
即使您 auto-select CloudFront 中的 S3 作为相关存储桶,您仍然需要手动放置您的位置才能使其正常工作。
更新:
我的问题是因为我的 CloudFront 源不在 us-east 中,当您 auto-select 您的存储桶源在 CloudFront 中时,它不会将位置前缀添加到 url .所以确保你像这样添加你的 s3 位置:
bucketname.s3.ap-east-1.amazonaws.com
- 转到您的 CloudFront 仪表板并单击分配 ID
- 转到 'Origins and Origin Groups' 选项卡
- select 你的来源然后点击'编辑
- 编辑 'Origin Domain Name' 以匹配此格式
bucketname.s3.regioncode.amazonaws.com
- 保存等待'deployed'状态