quarta-feira, 16 de dezembro de 2015

AWS Elastic Load Balancer (ELB) com Wildfly redirecionando Acesso HTTP para HTTPS

Ambiente:

Wildfly executando em uma instância AWS e um Elastic Load Balancer (ELB) redirecionando (HTTP porta 80) e (HTTPS porta 443) para porta 8080 do wildfly na instância AWS.

Requesitos:

Para que o ELB redirecione HTTPS é necessário configurar um certificado válido. Caso não possua um, esse site oferece certificados nivel 1 de graça: http://www.startssl.com/

Existe vários tutoriais ensinando como gerar seu certificado gratuito neste site.

Também será necessário liberar as portas que precisamos ter acesso no seu Security Group.

Após configurado o redirecionamento das portas e liberar no Security Group você vai conseguir acessar o sistema atravéz de ambos os protocolos HTTP/HTTPS. O objetivo deste post é mostrar como forçar o acesso atravéz do protocolo HTTPS com o wildfly hospedado na AWS atrás de um ELB.

Solução:

O que você precisa é habilitar "proxy-address-forwarding" para seu servidor (undertow) no wildfly. Você pode fazer isso atravéz do jboss-cli ou editando o arquivo de configuração standalone.xml ou domain.xml

Exemplo com jboss-cli

Exemplo editando arquivo de configuração

Explicando a solução:

Após isso, quando você acessar o link para seu load balance pelo protocolo HTTP ele irá redirecionar para a porta 8080 da instância onde o wildfly está rodando, o Wildfly vai detectar que o redirecionamente veio via HTTP e irá redicionar para o ELB com o protocolo HTTPS que irá novamente redicionar para o wildfly na porta 8080, porém desta vez será aceito pois o redirecionamento veio atravéz do protocolo HTTPS.

Nenhum comentário:

Postar um comentário