Redirección SSL en la instancia EC2 detrás del equilibrador de carga de terminación SSL


11

Estoy tratando de redirigir todas las URL a https en una aplicación web.

Tengo una instancia ec2 detrás de un equilibrador de carga elástico. SSL finaliza en el equilibrador de carga.

Cualquier intento de redirección termina dándome el familiar 'esta página está solicitando de una manera que nunca se completará'.

El equilibrador de carga reenvía 443 y 80 al puerto 80 en la instancia.

Esto es lo que tengo en mi .htaccess.

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

¿Alguien tiene alguna idea de cómo lograr esto? Gracias

Respuestas:


17

no probado ... pero intento esto

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-forwards-proto


1
¡Si! Muchas gracias. He estado luchando con esto por un tiempo ahora. Muy apreciado. Vota a favor esta respuesta si encuentras que esto es una ayuda. Gracias ...
rix

el enlace está roto
Bill Rosmus

La solución aún funciona. Puede
Tim

Trabajó para mi. Probado hoy
Ben Sinclair

0

La respuesta de Mike es en su mayoría correcta, pero es importante señalar que el equilibrador de carga seguirá necesitando llevar a cabo su rutina de comprobación de estado para garantizar que la instancia de ec2 siga viva y en buen estado. Esto se puede hacer con un adicionalRewriteCond

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

... donde alive.htmlestá el nombre de su archivo de verificación de salud.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.