如何将 AWS Application Load Balancer 路由到托管在同一 EC2 实例上的适当网络服务器?

Posted

技术标签:

【中文标题】如何将 AWS Application Load Balancer 路由到托管在同一 EC2 实例上的适当网络服务器?【英文标题】:How to route AWS Application Load Balancer to appropriate webservers hosted on the same EC2 Instance? 【发布时间】:2021-12-25 17:58:03 【问题描述】:
    我有一个 Amazon EC2 实例(我们称之为 EC2) 我有两个在 EC2 上运行的网络服务器 第一个网络服务器 A 在端口 80(docker 容器)上运行 第二个网络服务器 B 在端口 50(docker 容器)上运行 我有两个目标群体,TGA 和 TGB TGA --> 端口 80,http,带有 EC2(我可以使用 EC2 IPV4 访问) TGB --> 端口 50,http,带有 EC2(我可以使用 EC2 IPV4:50 访问) 我有一个包含 2 条规则的应用程序负载平衡器 如果路径是“/”,则转发到 TGA 如果路径是“/docs”,则转发到 TGB

当我访问负载平衡器时,第 9 步正在运行 当我尝试使用路径“/docs”访问负载均衡器时,我希望能够访问 TGB:50/docs,但它无法正常工作

我认为我在端口翻译或它应该如何工作的某个地方存在误解。任何人都可以帮助我澄清我哪里出错了吗?

【问题讨论】:

【参考方案1】:

请确保 /docs 规则在顶部定义,以便它具有匹配的优先级,

并且 / 规则应该被关闭,因此它将成为默认应用

【讨论】:

它是……“/docs”是第一条规则,“/”是第二条…… 应该可以了,请发截图【参考方案2】:

显然,我上面描述的过程是有效的。

我没有解释为什么它不能早些工作,唯一的解释是我一直在做的所有改变很可能都需要一些时间才能深入并扎根。

【讨论】:

以上是关于如何将 AWS Application Load Balancer 路由到托管在同一 EC2 实例上的适当网络服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AWS Application Load Balancer 路由到托管在同一 EC2 实例上的适当网络服务器?

AWS Application Load Balancer 将所有标头转换为小写

将 https 侦听器添加到 AWS Application Load Balancer 时出现问题

AWS Application Load Balancer HTTP到HTTPS与EC2实例

AWS CloudFormation:Application Load Balancer 的目标组不适用于多个 EC2 实例

基于请求标头的路由(使用 AWS Application Load Balancer)