是否可以使用aws elb仅转发部分路径?

时间:2017-12-06 05:26:17

标签: amazon-elb

我正在尝试在ALB中创建规则,因此路径的某些部分我没有转发到目标。例如,我的基础服务可能会接受像

这样的调用

获取http://hostname/dogs

但是在ALB中,我可能会在路径中添加一个版本用于路由:

获取http://hostname/v1/dogs

或者我可以致电

获取http://hostname/v2/dogs

两个版本都将在不同的目标组中运行。我想我可以放弃版本部分,以便我的应用程序不必关心版本控制。但是,我不知道如何处理它并且它似乎不可能。

1 个答案:

答案 0 :(得分:1)

这不是Application Load Balancer当前支持的内容。

然而,CloudFront有一个名为Origin Path的设置,在将请求发送到原始服务器之前会先添加到请求URI中 - 在本例中为原始ALB - 因此您需要设置原始路径如果您希望将/v1作为example.com/dogs发送到ALB,则转至example.com/v1/dogs。 CloudFront是一个CDN,但它有许多其他用途,例如请求重写 - 它本质上是一个庞大的,全局分布的带缓存的反向代理,并支持动态和静态内容。除了CloudFront之外,更复杂的重写需要Lambda @ Edge,但是将字符串添加到某些请求路径模式是基本功能集的一部分。