如何使用 Cloudfront 将到达“/app*”等路径的所有请求代理到 EC2 实例?

如何使用 Cloudfront 将到达“/app*”等路径的所有请求代理到 EC2 实例?

现在我有一个托管在 S3 中的网站并通过 Cloudfront 交付,并且我有一个在 EC2 实例上运行的应用程序。问题是我需要使用与 CloudFront 分发关联的域中的文件夹来提供应用程序,例如 example.com/app/

我知道我可以在 CloudFront 分发中创建一条规则,并使用 lambda 函数处理请求,但这似乎不是一个好方法,因为我需要创建一个可靠的代理函数并处理很多事情

如何使用 Cloudfront 将到达“/app*”等路径的所有请求代理到 EC2 实例?

答案1

您可以在 CloudFront 中使用多个源,其中一个是 S3,另一个是您的 EC2 实例的域。

然后使用CacheBehavior: PathPattern代理/app请求到您的 EC2 原点,并使用 DefaultCacheBehavior 将所有其余请求代理到 S3 原点。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern

相关内容