代码之家  ›  专栏  ›  技术社区  ›  Aref Karimi

如何在通过Amazon CloudFront访问文件时隐藏实际文件名?

  •  2
  • Aref Karimi  · 技术社区  · 11 年前

    有一个S3存储桶,里面有数百万个MP3文件。每个音乐文件及其预览MP3文件都位于该存储桶内的文件夹中。例如,对于给定的音乐:

    /音乐/123456/file_master.mp3 /音乐/123456/file_preview.mp3

    我希望最终用户能够通过CloudFront及其Web流功能访问预览文件。因此,我已经设置了CloudFront,因此用户可以单击指向CloudFront上文件的链接:

    http://blahblah.cloudfont.net/music/123456/file_preview.mp3

    除了用户可以抓取文件URL,用_master替换_preview部分,然后收听整个曲目之外,它的工作非常完美。不幸的是,将主文件和预览文件移动到两个不同的位置不是一个选项,因为不仅有数百万个主文件,而且摄取系统也在不断发布具有该结构的文件。

    是否有方法隐藏文件名和/或文件路径?e、 g.类似的东西 http://blahblah.cloudfront.net/music/123456/ABC 将是完美的。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Arne Solheim    10 年前

    我认为CloudFront不支持您建议的那种URL重写,但您可以通过为CloudFront发行版添加一个新的行为并在该行为中使用“路径模式”来仅匹配f.ex来解决您的问题。” *_preview.mp3 然后使用行为优先级将该新行为放在分发的默认行为之前(行为以第一个匹配的顺序处理),最后将默认行为设置为将“限制查看器访问”设置为“是”,而在仅匹配的新行为中将“受限查看器访问”设为“否” *_预览.mp3 "

    看见 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern 有关路径模式的更多信息。