Redirecionamento de SSL na instância do EC2 atrás do balanceador de carga de terminação SSL

11

Estou tentando redirecionar todos os URLs para https em um aplicativo Web.

Eu tenho uma instância ec2 atrás de um balanceador de carga elástico. O SSL é finalizado no balanceador de carga.

Qualquer tentativa de redirecionamento acaba me dando o familiar "esta página está solicitando de uma maneira que nunca será concluída".

O balanceador de carga encaminha 443 e 80 para a porta 80 na instância.

É isso que eu tenho no meu .htaccess.

RewriteCond %{X-FORWARDED-PROTO} !=on  
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Alguém tem alguma idéia de como fazer isso? Agradecimentos,

rix
fonte

Respostas:

17

não testado .. mas eu tento isso

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-proto

Mike
fonte
1
Sim! Muito obrigado. Estou lutando com isso há um tempo agora. Muito apreciado. Voto positivo, esta é a resposta, se você achar que isso é uma ajuda. Obrigado ...
rix
a ligação é interrompida
Bill Rosmus
Solução ainda funciona. Alguma explicação pode ser encontrada aqui: docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Tim
Trabalhou para mim. Testado hoje
Ben Sinclair
0

A resposta de Mike está na maioria correta, mas é importante ressaltar que o balanceador de carga ainda precisará executar sua rotina de verificação de integridade para garantir que a instância ec2 ainda esteja viva e bem. Isso pode ser feito com um adicionalRewriteCond

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

... onde alive.htmlestá o nome do seu arquivo de verificação de integridade.

Jon B
fonte