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,

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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.