AWS S3 + Cloudfront(或其他CDN):如何将多个别名URL设为同一文件?

时间:2014-01-31 10:06:27

标签: url amazon-web-services amazon-s3 hosting cdn

我计划使用S3 + Cloudfront托管电子商务网络应用的静态图片。每个用户上传的图像都可用于多个端点。

后台的用户操作示例:

  • 媒体库
  • 中上传图片flower.jpg
  • 创建标识为1
  • 的花卉产品
  • 创建标识为2
  • 的其他花卉产品
  • 指定图片flower.jpg以说明产品

我在考虑约定优于配置机制,例如:

  • 上传的图片有一个唯一的名称,例如flower.jpg
  • 当用于说明任何项目时,请使用以下约定:点p1.jpgp2.jpgflower.jpg,与符号链接的工作方式相同

以下所有三个网址都会返回相同的文件:

  • http://aws-s3/my_app/flower.jpg
  • http://aws-s3/my_app/p1.jpg
  • http://aws-s3/my_app/p2.jpg

我可以使用AWS执行此操作吗?

我没有在API文档中找到任何此类内容,除了临时公共URL,它带有两个禁止:1,它们过期,2,我无法选择URL

我可以使用其他CDN吗?

感谢。

2 个答案:

答案 0 :(得分:1)

我相信要完成这样的事情,最好的办法是将EC2 (pricing) S3一起使用。

我的理由是,正如您所说,S3不允许重定向网址。要实现您的目标,您需要将文件实际上传到每个地方,这将大大增加您的成本。

但是,您可以做的是使用EC2作为网络服务器。我将由您决定您的配置,但您可以在任何服务器上执行EC2上的任何操作 - 例如设置重定向。

供参考,here's a good tutorial关于在Ubuntu服务器上设置Apache,以及here's one关于设置Apache重定向。

答案 1 :(得分:0)

我认为,现在您可以使用 S3、Route53 和 Cloudfront 来实现相同的目标。这个问题似乎有些陈旧,但认为它可能对现在正在寻找的人有用。