Conforme confirmado, comentários , seu problema era que seu grupo de segurança Load Balance não estava configurado para permitir solicitações de entrada na porta 80.
Configurei assim: duas portas no meu balanceador de carga são mapeadas para uma única porta na minha instância (a instância verifica o cabeçalho HTTP e emite um redirecionamento HTTP para o site HTTPS para qualquer solicitação não HTTPS). O painel da AWS mostra:
LB Proto| LB Port| Inst Proto| Inst Port| SSL Cert
---------------------------------------------------
HTTP | 80 | HTTP | 8080 | N/A
HTTPS | 443 | HTTP | 8080 | my_ssl_cert
Na minha instância, posso inspecionar o tráfego de entrada da seguinte forma:
sudo ngrep -q -d eth0 -W byline port 8080
Isso é bem-sucedido: (https para o balanceador de carga)
curl -k https://111.111.111.111/
mas isso falha: (http para o balanceador de carga)
curl http://111.111.111.111/
(onde 111.111.111.111 é o IP do balanceador de carga)
O Curl bloqueia e expira, e eu nunca vejo atividade na porta 8080 na minha instância com o ngrep (quando eu envio a primeira solicitação).
O que há? Por que meu balanceador de carga não está encaminhando QUALQUER tráfego recebido na porta 80 para a porta 8080 na minha instância?
Conforme confirmado, comentários , seu problema era que seu grupo de segurança Load Balance não estava configurado para permitir solicitações de entrada na porta 80.