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

我已经这样设置 – 我的负载平衡器上的两个端口映射到我的实例上的单个端口(实例检查HTTP标头,并发出HTTPredirect到HTTPS站点,以获取任何非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 

在我的例子中,我可以检查传入的stream量如下:

 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停顿和超时,我从来没有看到我的实例上的端口8080活动与ngrep(我发送第一个请求时)。

这是怎么回事? 为什么我的负载均衡器不会将在端口80上接收到的任何stream量转发到我的实例上的端口8080?

正如评论中所确认的 ,您的问题是您的Load Balance安全组未configuration为允许端口80上的传入请求。