使用端口配置应用程序负载均衡器

问题描述 投票:0回答:2

这是我的情况。我有一个向三个端口开放的应用程序负载均衡器:80、443 和 8850。对于我的侦听器,我将 80 重定向到 443,我的 443 侦听器将转发到端口 80 上配置的目标组,而我的端口 8850 侦听器是也被转发到端口 80 上配置的同一目标组。

我想要实现的是我的端口 8850。访问此端口时,它被转发到端口 80 上配置的目标组。我需要此端口保留在端口 8850 上。我知道我需要配置第二个目标组指向 8850 而不是 80,但我不确定如何配置端口 80 以指向这个“新”目标组。每个端口只允许有一个侦听器。任何我如何能够访问 8850 的想法都会有帮助。

amazon-web-services port load-balancing amazon-elb
2个回答
0
投票

->在应用负载均衡器中,应用服务器不会直接看到客户端的IP地址。

-> 为了访问端口和 IP 地址,可以在 HTTP headers 中看到。Application Load Balancer 和 Classic Load Balancer 添加 X-Forwarded-For、X-Forwarded-Proto 和 X-Forwarded-Port 标头到请求。

X-Forwarded-Port 请求标头可帮助您识别客户端用于连接到负载均衡器的目标端口Http 标头负载均衡器 aws 文档

因此,您可以添加一条规则,其中条件将是 HTTP 标头值将是您的端口号,并选择您想要如何重定向或转发的操作。使用 HTTP 标头的教程


0
投票

这几乎是不可能弄清楚的。就我而言,我试图为套接字连接设置一个 TCP 端口,以便我的服务器可以接受端口 80 上的常规流量和另一个端口上的额外流量。希望这对那些花了 6 个小时试图解决这个问题的人有所帮助。

首先,转到 EC2/负载均衡器。然后,打开目标群体页面:

接下来,创建一个目标组:

确保选择实例的目标类型:

选择端口8850:

重要!对于运行状况检查,如果 8850 将作为 TCP 端口,请将其设置为端口 80,否则在一段时间运行状况检查失败后,AWS 将重置设置。 AWS 显然无法对 TCP 端口进行健康检查。

在下一个屏幕上,选择转发目标的实例(您的 ec2 实例)。我的这里是空白的,以隐藏敏感信息:

选择后,您需要单击“包含在下面待处理”:

最后,您的目标组只需添加到应用程序负载均衡器上的侦听器中即可。打开负载均衡器屏幕并选择您的负载均衡器:

在监听器选项卡下选择“添加监听器”:

选择端口 8850 并选择您刚刚创建的目标组(注意:即使对于 TCP,也选择 HTTP(如果您使用的是安全套接字,则选择 HTTPS)。如果目标组未显示,则说明您没有关联正确的组实例或选择正确的 VPC:

© www.soinside.com 2019 - 2024. All rights reserved.