1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 据我了解,您首先创建了一个带有自定义错误页面的 S3 网站。错误页面可在 https://cl-error-docs-static-website.s3.amazonaws.com/errors_5xx/404.html 访问
所以首先,您可以访问上述 URL 的原因是您的存储桶具有开放策略。如果您使用的是存储桶网站 URL,它将如下所示: http://cl-error-docs-static-website.s3-website-us-east-1.amazonaws.com 这是因为 S3 网站端点只能通过 HTTP 访问。
现在查看您的原始 URL,您已经在 CloudFront Origin 配置中使用了 S3 Endpoint URL。我建议您执行以下操作:
- 移除开放桶策略。
- 阻止所有公共访问。
- 禁用存储桶上的 S3 网站。
- 为 S3 存储桶编辑 CloudFront Origin
- S3 bucket access = Yes use OAI (bucket can restrict to access only CloudFront)
- 如果您没有 Origin Access Identity,请创建一个然后选择它。
- Bucket policy = Yes,更新bucket policy
- 保存您的更改。
此方法将使您的存储桶私有化,并创建一个身份以仅允许从 CloudFront 访问您的存储桶。 还要确保添加错误页面 403,因为当您尝试访问不存在的对象时,S3 将返回错误 403 访问被拒绝。 https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-access-to-amazon-s3/ https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
最后请注意,如果您的存储桶需要公开访问,请使用 S3 网站 URL 作为您的来源,并将您的来源设为自定义来源。
希望有所帮助。
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 个月前