如何将多个 AWS LoadBalancer 端口映射到单个实例端口?

如何将多个 AWS LoadBalancer 端口映射到单个实例端口?

我的设置如下:负载均衡器上的两个端口映射到实例上的单个端口(实例检查 HTTP 标头,并针对任何非 HTTPS 请求发出 HTTP 重定向到 HTTPS 站点)。AWS 仪表板显示:

LB Proto| LB Port| Inst Proto| Inst Port| SSL Cert
---------------------------------------------------
HTTP    | 80     | HTTP      | 8080     | N/A   
HTTPS   | 443    | HTTP      | 8080     | my_ssl_cert 

在我的实例上,我可以按如下方式检查传入流量:

sudo ngrep -q -d eth0 -W byline port 8080

成功了:(https 到负载均衡器)

curl -k https://111.111.111.111/

但失败了:( http 到负载均衡器)

curl     http://111.111.111.111/

(其中 111.111.111.111 是负载均衡器的 IP)

Curl 停止并超时,并且我使用 ngrep 时从未在我的实例上的端口 8080 上看到活动(我在发送第一个请求时看到)。

怎么回事?为什么我的负载均衡器没有将实例上端口 80 收到的任何流量转发到端口 8080?

答案1

已确认在评论中,您的问题是您的负载均衡安全组未配置为允许端口 80 上的传入请求。

相关内容