Como posso configurar o SPDY com o Jetty por trás do ELB da Amazon?

7

Eu quero implantar o SPDY, mas estou usando o roteamento TCP do ELB da Amazon. O ELB também lida com as conexões seguras para nós. Como isso pode ser configurado no lado do cais?

    
por arturnt 30.11.2012 / 08:57

2 respostas

7

Infelizmente, a resposta é: você não pode. Hoje, para implantar o SPDY, seu servidor de terminação TLS (que neste caso é o ELB) precisa negociar SPDY sobre TLS "Next Protocol Negotiation" (NPN). O NPN é uma extensão do TLS e requer uma versão recente do OpenSSL ou de outras bibliotecas. O ELB não suporta a negociação do NPN.

A solução é projetar todo o fluxo TCP por meio do ELB até o servidor de aplicativos, que poderia então manipular o handshake NPN e TLS. Jetty pode fazer isso, ou você pode usar uma ferramenta como o HAProxy, que agora é capaz de NPN: link

    
por 30.11.2012 / 18:56
4

SPDY é suportado agora no ELB com o uso de proxy_protocol.

É um pouco difícil de configurar, no entanto, você precisa adicionar a política ProxyProtocol ao seu ELB e definir os ouvintes para TCP 443 - > TCP 443

Isso passará a conexão (junto com o cabeçalho do protocolo de proxy) através do ELB intocado para seus servidores.

O Nginx acabou de adicionar suporte ao protocolo de proxy na versão 1.5.12, então eu simplesmente ouço o seguinte:

ouvir 443 ssl proxy_protocol spdy

Em seguida, defina o real_ip para o passado através do proxy_protocol ip e voila, SPDY por trás do ELB.

Devo mencionar que isso significa que você decodifica os certificados SSL em seu servidor da Web em vez de usar o ELB como faria com os ouvintes de HTTPS. Mas para mim isso está bem.

Seria ótimo se a Amazon pudesse adicionar controles melhores para adicionar políticas usando o web gui, já que fazer isso via linha de comando é uma dor.

link

    
por 02.09.2014 / 00:37