没有 S3 的 Cloudfront

Posted

技术标签:

【中文标题】没有 S3 的 Cloudfront【英文标题】:Cloudfront without S3 【发布时间】:2013-04-14 04:36:44 【问题描述】:

因此,我想使用 Amazon Cloudfront 为我的网站提供所有图像(和一些脚本),并使用我的服务器作为后备(来源)。但是,它似乎一直默认为我服务器上的版本。我已经使用指向我的服务器的自定义 cname 设置了 Cloudfront。

我假设在请求时:images.mydomain.com/18/photo.jpg(images.mydomain.com 被命名为我的 cloudfront url)它会首先查看 photo.jpg 是否存在于 cloudfront 中,如果不存在是否会将其缓存到下次请求从云端提供服务时?或者我还有什么需要做的(比如触发上传到云端)?

它一直默认为我服务器上的文件,这显然使它毫无意义......

谢谢!

【问题讨论】:

【参考方案1】:

您需要确保在再次访问源之前告知 Cloudfront 提供文件多长时间。

查看 CloudFront 分配中的 Behaviours 选项卡。对于每种类型的文件,您可以告诉 CloudFront:

Use Origin Cache Headers,在这种情况下,您需要确保您的服务器正在生成 Cache-Control 和/或 Expires 标头。

Customize,在这种情况下,您提供Minimum TTL(生存时间)。 CloudFront 将在此秒数内提供文件,然后返回到您的服务器以查看它是否已更改。

【讨论】:

谢谢。我不明白。我已将所有(*)和专门用于“jpg”的 TTL 设置为 4000,但它一直从我的服务器而不是云端提供文件(IMG SRC 是我的云端 url,但是当右键单击图像并选择视图时,它显示我的服务器网址)。 解决了。原来我需要添加“www”。到源域...谢谢

以上是关于没有 S3 的 Cloudfront的主要内容,如果未能解决你的问题,请参考以下文章

将dynamoDB表复制到另一个没有S3的aws帐户

刷新状态时出错:S3 中的状态数据没有预期的内容

hadoop fs -ls s3://bucket 或 s3a://bucket 抛出“没有这样的文件或目录”错误

没有 S3 的 Cloudfront

有没有办法通过 url 从 s3 获取对象

来自 S3 的 Redshift 复制命令有效,但没有上传数据