Eu segui o guia no link para ativar o Protocolo de Proxy em ambos os meus ouvintes TCP (portas 80 e 443). Eu executei os seguintes comandos em uma das instâncias do EC2:
aws elb create-load-balancer-policy \
--load-balancer-name 'proxy-connect-test' \
--policy-name EnableProxyProtocol \
--policy-type-name ProxyProtocolPolicyType \
--policy-attributes AttributeName=ProxyProtocol,AttributeValue=true
echo "Enabling policy on :80"
aws elb set-load-balancer-policies-for-backend-server \
--load-balancer 'proxy-connect-test' \
--instance-port 80 --policy-names 'EnableProxyProtocol'
echo "Enabling policy on :443"
aws elb set-load-balancer-policies-for-backend-server \
--load-balancer 'proxy-connect-test' --instance-port 443 \
--policy-names 'EnableProxyProtocol'
Posso confirmar que as políticas foram registradas usando balanceadores de carga de descrição:
"BackendServerDescriptions": [
{
"InstancePort": 80,
"PolicyNames": [
"EnableProxyProtocol"
]
},
{
"InstancePort": 443,
"PolicyNames": [
"EnableProxyProtocol"
]
}
],
Mas, quando faço solicitações para qualquer uma dessas portas, não consigo ver o cabeçalho do protocolo de proxy ao usar o tcpdump. Eu posso fazer pedidos com sucesso através dos servidores de back-end com HTTP e HTTPS, mas eu simplesmente não consigo obter o esperado cabeçalho PROXY.
Eu não estou usando nenhum outro tipo de proxy entre meus clientes (openssl s_client, Firefox) e o servidor web backend (onde o tcpdump está observando a conexão). Os ouvintes são TCP: 80 - > TCP: 8080 e TCP: 443 - > TCP: 8443.
Preciso fazer mais alguma coisa para ativar o protocolo de proxy no meu ELB?