【发布时间】:2017-12-26 06:08:06
【问题描述】:
我正在开发一个 POC,以证明基于 AWS 路径的路由通过 Application Load Balancer 到一组使用 express 的非常基本的“hello world”node.js 应用程序。如果没有基于路径的路由并没有多个侦听器,每个应用程序有 1 个侦听器,每个相应的侦听器和应用程序都按预期工作。因此,目标组内的目标均已通过健康检查并显示为健康。但是,当我在 1 个侦听器上切换到基于路径的路由实现(删除另一个不必要的侦听器)时,两个应用程序都会出现以下错误:
无法获取 /expressapp
无法获取 /expressapp2
我查看了以下文档以试图找出问题所在: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions
我错过了什么?有什么疑难解答的想法吗?
【问题讨论】:
-
我刚刚在底部注意到了这一点:“请注意,路径模式用于路由请求但不会改变它们。例如,如果规则具有 /img/* 的路径模式,则规则会将 /img/picture.jpg 的请求作为 /img/picture.jpg 的请求转发给指定的目标组。”路径转发是问题,因为我试图使用路径然后将请求发送到备用端口,但我希望在其中一种情况下剥离路径,而不是在另一种情况下。有人知道怎么做吗?
-
我不知道该怎么做;但我很乐意。我现在遇到了同样的问题。尝试将
/jenkins*转发到 jenkins 容器的登录页面,/grafana*转发到 grafana 登录等。但是,每个带有扩展名的请求都会返回默认值,然后通常会失败或返回 404。基于端口的侦听器工作美好的。关于如何处理这个问题的想法? -
@Mr.Budris 解决这个问题?相同的状态 404 =/ 谢谢。
-
@DiegoBorges 是的——在容器上运行 NGINX ;) 但实际上,它更适合拆分这类服务,因为它提供了强大的路由和 URL 重写。
-
你使用的是 ALB 还是 ELB?我正在使用 ALB,但在 AWS 控制台上看不到任何基于路径的路由
标签: amazon-web-services amazon-ec2 amazon-elb