Amazon web services Can Cloudfront+;ELB是否更改我请求的查询字符串?

Amazon web services Can Cloudfront+;ELB是否更改我请求的查询字符串?,amazon-web-services,amazon-cloudfront,Amazon Web Services,Amazon Cloudfront,我们正在AWS上运行react web应用程序。web应用程序由S3 bucket托管,API位于elastic beanstalk上。我们使用Cloudfront将其整合到单个域中 到目前为止还不错。当站点加载时,它可以与API对话 问题是,所有到达弹性beanstalk实例的API请求在查询字符串中仍然有/API。这对于我们的API很好,因为我们可以控制它,但我们正在部署的实例不允许我们配置根url从中提供服务 我似乎无法将Cloudfront配置为将查询字符串修改为第一部分的chop。例

我们正在AWS上运行react web应用程序。web应用程序由S3 bucket托管,API位于elastic beanstalk上。我们使用Cloudfront将其整合到单个域中

到目前为止还不错。当站点加载时,它可以与API对话

问题是,所有到达弹性beanstalk实例的API请求在查询字符串中仍然有/API。这对于我们的API很好,因为我们可以控制它,但我们正在部署的实例不允许我们配置根url从中提供服务

我似乎无法将Cloudfront配置为将查询字符串修改为第一部分的chop。例如,
mysite.com/api/v1/users
将映射到
fj935hf02.elasticbeanstalk.com/v1/users


其他人是如何规避这个问题的?

是的,CloudFront可以通过以下方式进行类似的修改。具体来说,您可以查看
源站请求
函数,该函数可以修改传递给源站的内容


AWS还提供了一系列此类功能。示例之一显示了如何使用查询字符串。

您不能从源代码中执行此操作吗?您的意思是什么?如果源代码请求除/api之外的任何内容,那么请求将不会命中api服务器。哦,我的糟糕!!!!谢谢你有使用电脑的经验吗Lamda@Edge为了这种事?“你知道有什么陷阱吗?”汉内什说Lambda@Edge与普通lambda相比,它不是免费的,并且有很多限制。但是如果您想修改标题或查询字符串,我不知道CloudFront中还有其他方法。