AWS 应用程序负载均衡器路径路由问题
AWS Application Load balancer path routing issue
我有一个相当全面的应用程序负载平衡器,它设置了基于主机名的路由。
但是,我正在尝试介绍以下内容,但无法使路径路由正常工作。
即我有这个顺序。
- licence.example.com/api -> 目标群体 B
- licence.example.com -> 目标群体 A
我看到的是所有内容都路由到目标组 A。
我将规则 1 设置为主机 licence.example.com,路径:/api/*
规则 2 设置为主机 licence.example.com
我试过通过调换它们来改变顺序。我已经尝试将规则 2 的路径添加为 /* 但它不起作用。
难道AWS负载均衡器不具备这种最基本的配置吗?
我是否必须将其丢弃并使用 nginx?
两个问题。
UI 中显示的顺序很重要。更高级别的规则列表具有更高的优先级。所以首先我必须确保首先发生与路径的匹配。
对 /api/* 的请求通过路径 /api/ 包含在应用程序中。没有像 nginx 这样的重写会把它去掉。因此,解决方法是对在目标组 B 上侦听的应用程序进行小的更改,以期待 /api/ 路径。我将其设为配置值,然后一切正常。
我有一个相当全面的应用程序负载平衡器,它设置了基于主机名的路由。
但是,我正在尝试介绍以下内容,但无法使路径路由正常工作。
即我有这个顺序。
- licence.example.com/api -> 目标群体 B
- licence.example.com -> 目标群体 A
我看到的是所有内容都路由到目标组 A。
我将规则 1 设置为主机 licence.example.com,路径:/api/* 规则 2 设置为主机 licence.example.com
我试过通过调换它们来改变顺序。我已经尝试将规则 2 的路径添加为 /* 但它不起作用。
难道AWS负载均衡器不具备这种最基本的配置吗? 我是否必须将其丢弃并使用 nginx?
两个问题。
UI 中显示的顺序很重要。更高级别的规则列表具有更高的优先级。所以首先我必须确保首先发生与路径的匹配。
对 /api/* 的请求通过路径 /api/ 包含在应用程序中。没有像 nginx 这样的重写会把它去掉。因此,解决方法是对在目标组 B 上侦听的应用程序进行小的更改,以期待 /api/ 路径。我将其设为配置值,然后一切正常。