我已经这样设置 – 我的负载平衡器上的两个端口映射到我的实例上的单个端口(实例检查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上的传入请求。