amazon-s3 - Cloudfront 重定向到 S3 端点

标签 amazon-s3 amazon-cloudfront

  • 我已经使用端点地址设置了一个 cloudfront 发行版。
  • 我想将调用重定向到 /Latest文件夹到 /12.50文件夹。
  • 所以我在 S3 控制台中定义了一个重定向规则,使用路由规则标记。

  • routing rule

    结果:重定向开始,但将用户从 cloudfront URL 移动到端点 URL。

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

    问题:有没有办法让重定向将用户保留在 cloudfront 域上?

    最佳答案

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

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

  • 下面是一些例子:

    完全重定向

    在这种情况下,我将根目录 ( dxxx.cloudfront.net ) 重新指向一个子目录:
  • 我创建了一个 Amazon S3 存储桶 并应用存储桶策略使其全部公开可读
  • 我创建了 两个文件夹 在桶中:v1v2
  • 我将两张不同的图片上传到每个文件夹,但文件名相同
  • 我创建了一个 Amazon CloudFront 分发两个 Origins ,指向 v1v2分别
  • 我设置了发行版的 默认行为 指向 v1产地
  • 分发准备好后,我访问了 dxxx.cloudfront.net/picture.jpg .它返回了来自 v1 的图片.
  • 然后我修改了行为以指向 v2起源。分发准备好后,我访问了相同的 URL,它返回了来自 v2 的图片。 .

  • 子目录重定向

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

    重要的区别是目标子目录必须包含 /Latest子目录,因为它实际上指向 dxxx.cloudfront.net/<version>/Latest ,只有 <version>部分被替换。
  • 在上面的例子中,我添加了一个 /Latest v1 中的文件夹和 v2子目录并在每个子目录中放图片
  • 我添加了一个额外的 行为 路径模式 /Latest/*指向v1产地
  • 分发准备好后,我访问了 dxxx.cloudfront.net/Latest/picture.jpg .它返回了来自 /Latest/v1 的图片.
  • 然后我修改了 /Latest行为指向 v2起源。分发准备好后,我访问了相同的 URL,它返回了来自 /Latest/v2 的图片。 .
  • 关于amazon-s3 - Cloudfront 重定向到 S3 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37060074/

    相关文章:

    hadoop - 连接 talend 和 Hadoop

    python - Boto3 逐行从 S3 键读取文件内容

    amazon-web-services - 将存储桶策略附加到由无服务器生成的存储桶

    ruby-on-rails - AWS::S3::Bucket:Class 的未定义方法 `find'

    ajax - 如何在本地开发人员环境中模拟 aws cloudfront 多个来源

    amazon-web-services - AWS Cloudfront 失效完成后如何获得通知?

    java - 从java aws lambda访问s3

    java - 我如何编写我的 servlet 以便它与 Cloudfront Cache 一起很好地工作

    amazon-web-services - 在 CloudWatch 仪表板中查看 CloudFront 指标

    amazon-cloudfront - 如何通过CloudFront获取请求的客户端IP?