sen*_*nty 13 cdn amazon-s3 amazon-web-services amazon-cloudfront
我已经创建了一个 S3 并且我成功地在存储桶上上传了文件。现在,我试图让它与 CloudFront 一起工作,但它给了我
非法位置约束异常
ap-east-1 位置约束与此请求发送到的区域特定端点不兼容。
我的 S3 网址是:http : //my-bucket-name.s3.ap-east-1.amazonaws.com/assets/local/css/app.css(这会返回文件)
CloudFront 链接到 S3,网址为:https : //id.cloudfront.net/assets/local/css/app.css(这会返回 IllegalLocationConstraintException)
在 S3 存储桶 > 权限 >
“阻止公共访问”已关闭
“存储桶策略”是自动生成的:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "######"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
sen*_*nty 25
即使您在 CloudFront 中自动选择 S3 作为相关存储桶,您仍然需要手动放置您的位置以使其工作。
更新:
我的问题是因为我的 CloudFront 源不在 us-east,并且当您在 CloudFront 中自动选择存储桶的源时,它不会将位置前缀添加到 url。因此,请确保像这样添加 s3 位置:
bucketname.s3.ap-east-1.amazonaws.com
小智 9
bucketname.s3.regioncode.amazonaws.com| 归档时间: |
|
| 查看次数: |
5304 次 |
| 最近记录: |