Problema ao ativar o protocolo de proxy no AWS ELB

1

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?

    
por Christopher Schultz 10.08.2016 / 17:47

1 resposta

3

The listeners are TCP:80 -> TCP:8080 and TCP:443 -> TCP:8443.

Você aplicou a política a "portas de instâncias" 80 e 443. As portas de instância se referem à porta nas instâncias de back-end, portanto, elas devem ser definidas como 8080 e 8443 na política.

    
por 10.08.2016 / 23:47