我有一个CloudFront发行版设置为指向S3存储桶。我的S3存储桶有一个版本控制的文件路径(例如,http://example.s3.us-east-1.amazonaws.com/static/ui/v5.53.3/)。我想配置一个只匹配/static/ui/*
路径的缓存行为,但我希望所有到我的原点的请求都具有路径/static/ui/v5.53.3
。我试图将我的缓存行为的路径模式设置为/static/ui/*
和我的原始路径设置为/v5.53.3
,但这似乎不起作用。
我如何在CloudFront中配置这个?
来源路径
如果您希望CloudFront总是从origin中的特定目录请求内容,请输入目录路径,以正斜杠(/)开头。不要在路径末尾添加斜杠(/)。CloudFront将目录路径附加到原域名后。
在您的示例中,源域名为example.s3.us-east-1.amazonaws.com
。所以你的原点看到的请求是example.s3.us-east-1.amazonaws.com/v5.53.3/*
。这就是为什么它不起作用。
事实上,截至2022年5月,如果不使用Lambda@Edge,这是不可能实现的。你必须在Lambda中重写自定义URL。