所以这是我第一次使用AWS和服务器设置。我在AWS上配置了S3以及CloudFront。由于我的CloudFront的原点设置为我的S3,我相信S3上的文件将通过CloudFront检索如下所示
S3 - https://s3-ap-southeast-1.amazonaws.com/testbucket/uploads/logo/UfB7wDrn9A5r.jpg
CloudFront - https://randomstring.cloudfront.net/uploads/logo/UfB7wDrn9A5r.jpg
然而,我想要实现的目标 - 似乎是一个很长的镜头 - 是我的CloudFront路径,我的图像就像 -
https://randomstring.cloudfront.net/UfB7wDrn9A5r.jpg
所以基本上不管S3中文件的路径是什么,我都希望文件只存在于CloudFront的根目录下。这甚至可以远程实现吗?
答案 0 :(得分:2)
无论文件路径在S3中是什么
无论如何,没有。这不是你可以用S3和/或CloudFront开箱即用的东西。
可以折叠存储桶中的单个路径,这样/ uploads / logo的内容将出现在CloudFront分配的根目录中,但所有文件都不在/ uploads / logo中将无法通过CloudFront访问。
这可以通过在CloudFront中设置Origin Path来完成。
如果您使用/ uploads作为原始路径,那么/ uploads / logo / *中的文件将在CloudFront中显示为/ logo / *,但听起来并不是您想要的结果。
其他任何东西都需要CloudFront和S3之间的中间系统来“搜寻”所需的资源,这将是低效和耗时的,更不用说文件名冲突的可能性了。