sexta-feira, 11 de dezembro de 2015

BlazeDS + HTTPS + Load Balancer

Quando se usa BlazeDS sobre HTTPS se recomenda usar esta configuração no services-config.xml:

<channel-definition id=”my-amf-secure” class=”mx.messaging.channels.SecureAMFChannel“>

<endpoint url=”https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure” class=”flex.messaging.endpoints.SecureAMFEndpoint “/>

Só que se você tiver um Load Balancer como foi meu caso numa aplicação de cliente na Amazon, a aplicação não vai subir. Para você saber se o servlet do Blaze (MessageBrokerServlet) subiu corretamente é só digitar no browser https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure deverá aparecer uma tela em branco.

No meu caso, não apareceu nenhuma informação na log.

Pesquisando encontrei esse link: LCDS with SSL Termination with Load Balancer fails que recommend usar AMFEndpoint em vez de SecureAMFEndpoint, isto porque a requisição do cliente até o Load Balancer irá usar HTTPS normalmente mas do Load Balancer para o servidor de aplicação normalmente será HTTP.