我的设置如下:负载均衡器上的两个端口映射到实例上的单个端口(实例检查 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 上的传入请求。