【问题标题】:Cloudfront redirects to S3 endpointCloudfront 重定向到 S3 端点
【发布时间】:2016-05-05 20:53:59
【问题描述】:
  1. 我已经使用端点地址设置了云端分发。
  2. 我想将到/Latest 文件夹的呼叫重定向到/12.50 文件夹。
  3. 所以我在 S3 控制台中定义了一个重定向规则,使用路由规则标记。

结果:重定向启动,但将用户从云端 URL 移动到端点 URL。

例如通过<mysite>.cloudfront.net/Latest 进入的用户会被重定向到<bucket>.hpe-alm.s3-website-us-west-2.amazonaws.com/12.50

问题:有没有办法通过重定向将用户留在云端域中?

【问题讨论】:

    标签: amazon-s3 amazon-cloudfront


    【解决方案1】:

    您可以在 CloudFront 中更改源路径,而不是在 Amazon S3 中执行重定向。

    • /12.50原点路径定义原点
    • 当您希望 CloudFront 分配指向不同的版本时,编辑其行为

    这里有一些例子:

    完全重定向

    在这种情况下,我将根 (dxxx.cloudfront.net) 重新指向了一个子目录:

    • 我创建了一个 Amazon S3 存储桶并应用了存储桶策略以使其全部公开可读
    • 我在存储桶中创建了两个文件夹v1v2
    • 我将两张不同的图片上传到每个文件夹,但文件名相同
    • 我创建了一个Amazon CloudFront 分配两个来源,分别指向v1v2
    • 我将分发的 默认行为 设置为指向 v1 原点
    • 一旦分发准备就绪,我就访问了dxxx.cloudfront.net/picture.jpg。它从v1返回了图片。
    • 然后我修改了行为以指向v2 原点。分发准备好后,我访问了相同的 URL,它返回了来自 v2 的图片。

    子目录的重定向

    在这个例子中,我将dxxx.cloudfront.net/Latest 重新指向了一个不同的子目录。

    重要的区别是目标子目录必须包含/Latest 子目录,因为它实际上指向dxxx.cloudfront.net/<version>/Latest,只有<version> 部分被替换。

    • 对于上面的示例,我在v1v2 子目录中添加了一个/Latest 文件夹,并将图片分别放入其中
    • 我添加了一个额外的行为,其中/Latest/*路径模式指向v1原点
    • 一旦分发准备就绪,我就访问了dxxx.cloudfront.net/Latest/picture.jpg。它从/Latest/v1返回了图片。
    • 然后我修改了/Latest 行为以指向v2 原点。分发准备好后,我访问了相同的 URL,它返回了来自 /Latest/v2 的图片。

    【讨论】:

    • 谢谢。我不清楚 Behavior 中的哪个设置允许我将请求重定向到 /Latest12.50路径模式再次重定向到存储桶。
    • 我做了一些实验并添加了一些示例。
    猜你喜欢
    • 2018-03-13
    • 2014-05-09
    • 2016-12-08
    • 1970-01-01
    • 2021-12-06
    • 2020-07-15
    • 2015-02-27
    • 2020-09-21
    • 2020-02-01
    相关资源
    最近更新 更多