37

我在 2 个网站上有 2 张不同的图片:

如果我创建一个具有 2 个来源的 Amazon Cloudfront 发行版:www.siteA.com然后www.siteB.com我调用uniqueDistributionID.cloudfront.net/avatar.png,那么avatar.png将返回哪个?一进siteA还是一进siteB

为什么&为什么不?

试图了解 Cloudfront 发行版中潜在的冲突。

4

1 回答 1

52

不,CloudfFront 没有“冲突”的概念,因为当您有一个具有多个源的分配时,您必须定义哪个路径匹配到哪个源。

CloudFront 的路径模式匹配是确定性的。它使用第一个匹配,而不是最佳匹配。无论哪个模式首先匹配,都会被使用,即使该路径在源服务器上是死路。

当 CloudFront 收到最终用户请求时,会按照缓存行为在分配中列出的顺序将请求的路径与路径模式进行比较。第一个匹配项确定将哪种缓存行为应用于该请求。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

更新

CloudFront 现在支持Origin Groups的概念,它允许任何给定的缓存行为向一个源发送请求,然后 - 如果您指定的错误类型之一(例如 404 或 503)由第一个源返回,则CloudFront 将尝试从第二个来源获取内容。这可用于故障转移,但也可用于您希望 CloudFront 尝试一个源,然后尝试另一个源的情况。对于每个缓存未命中,按顺序尝试源组中的两个源。如果任一源返回可缓存的响应,则该响应将存储在缓存中。

于 2015-04-05T21:49:47.090 回答