【问题标题】:AWS CloudFront distribution with multiple s3 buckets in different regionsAWS CloudFront 分布在不同区域具有多个 s3 存储桶
【发布时间】:2017-05-30 18:56:00
【问题描述】:

我创建了一个具有三个来源和三种不同行为的 AWS CloudFront 分配。

这是我的三个带有区域的存储桶。

  1. 首尔 - 图像
  2. 首尔 - etxts
  3. 孟买 - epdfs

每个存储桶都有一个文件

  1. eimages - Sample.jpg
  2. epdfs - Sample.pdf
  3. etxts - Sample.txt

然后我如下配置 CloudFront 行为

  1. *.pdf - 图像
  2. *.txt - etxts
  3. (*) 默认 - 电子图像

鉴于我的 CloudFront 分配域是 d3ewqer4qpe.cloudfront.net,我尝试从浏览器中点击以下 URL,而孟买存储桶正在回复 AccessDenied。

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>335922B75E760050</RequestId>
  <HostId>
a05u8gpKGGM8FjlVyQrMwOqhswEEw0KMR/HbH3S9lJX0MpAlMWsutYYI5ka3FxKeQnwvOdqeiqI=
  </HostId>
</Error>

我可以看到重定向 URL https://eimages.s3.ap-northeast-2.amazonaws.com/Sample.pdf。似乎请求请求重定向到错误的存储桶。 但是,如果我尝试使用正确的存储桶名称和区域更正 URL,那么它的工作正常 https://epdfs.s3.ap-south-1.amazonaws.com/Sample.pdf 并且它似乎缓存在边缘位置。

有没有想过发生了什么?提前致谢。

【问题讨论】:

  • “我可以将重定向 URL 视为” 您的问题并没有说明您是如何看到此重定向 URL 的。你在哪里看到这个?我应该通过 CloudFront 查看哪个确切的 URL 来复制您所看到的内容?
  • 我看到它在浏览器中重定向,我点击了 URL https://d3ewqer4qpe.cloudfront.net/Sample.pdf,它解析为 https://eimages.s3.ap-northeast-2.amazonaws.com/Sample.pdf。因为我在 eimages 中没有 pdf 文件,所以它给了我AccessDenied。但是,如果我使用需要重定向的正确 URL https://epdfs.s3.ap-south-1.amazonaws.com/Sample.pdf,它会按预期工作。所以这应该是 CloudFront 的行为解决问题的问题。
  • curl: (6) Couldn't resolve host 'd3ewqer4qpe.cloudfront.net' 我根本无法启动这个网站。确认这是正确的主机名吗?

标签: amazon-web-services amazon-s3 amazon amazon-cloudfront


【解决方案1】:

Amazon CloudFront 允许您在这些文件设置的到期日期之前从所有边缘站点删除一个或多个文件。

失效功能在意外情况下很有帮助,例如偶尔更新您的网站 css 文件,您需要从 Amazon CloudFront 中删除该文件。

如果需要在指定的到期时间之前删除令人反感或可能有害的材料,则失效也可能会有所帮助。

如果您需要在对象过期之前从 CloudFront 边缘缓存中删除它

使边缘缓存中的对象无效。下次查看器请求对象时,CloudFront 会返回源以获取对象的最新版本。

这将帮助你.. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

【讨论】:

    猜你喜欢
    • 2015-12-02
    • 2020-09-25
    • 1970-01-01
    • 2015-07-23
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多