具有多个来源的亚马逊云端分布是否冲突?

Does an amazon cloudfront distribution with multiple origins conflict?

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

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

为什么&为什么不?

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

不,CloudfFront 没有 "conflict," 的概念,因为当您有一个具有多个来源的分布时,您必须定义匹配到哪个来源的路径。

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

When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The first match determines which cache behavior is applied to that request.

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

更新

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