我在2个网站上有2个不同的图像:
如果我创建了一个包含2个来源的Amazon Cloudfront分发:www.siteA.com
和www.siteB.com
,然后我呼叫uniqueDistributionID.cloudfront.net/avatar.png
,那么将返回avatar.png
? siteA
中的那个或siteB
中的那个?
为什么&为什么不?
尝试了解Cloudfront发行版中冲突的可能性。
答案 0 :(得分:38)
不,CloudfFront没有“冲突”的概念,因为当您拥有多个来源的分布时,您必须定义哪个路径匹配哪个来源。
CloudFront的路径模式匹配是确定性的。它使用第一场比赛,而不是最佳比赛。无论哪个模式首先匹配的是将要使用的模式,即使该路径在原始服务器上是一个死胡同。
当CloudFront收到最终用户请求时,会将请求的路径与路径模式进行比较,其顺序为分发中列出的缓存行为。第一个匹配项确定将哪个缓存行为应用于该请求。
<强>更新强>
CloudFront现在支持Origin Groups的概念,它允许任何给定的缓存行为向一个源发送请求,然后 - 如果返回您指定的错误类型之一(例如404或503)通过第一个原点,然后CloudFront将尝试从第二个原点获取内容。这可用于故障转移,但也可用于您希望CloudFront尝试一个原点然后另一个原点的情况。对于每个缓存未命中,按顺序尝试原始组中的两个原点。如果任一origin返回可缓存的响应,则该响应将存储在缓存中。