SSL-Umleitung auf der EC2-Instanz hinter dem SSL-terminierenden Load Balancer

11

Ich versuche, alle URLs in einer Webanwendung auf https umzuleiten.

Ich habe eine ec2-Instanz hinter einem elastischen Load Balancer. SSL wird auf dem Load Balancer beendet.

Alle Weiterleitungsversuche führen dazu, dass ich die vertraute Meldung "Diese Seite fordert auf eine Weise an, die niemals vollständig sein wird".

Der Load Balancer leitet 443 und 80 an Port 80 der Instanz weiter.

Dies ist, was ich in meinem .htaccess habe.

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

Hat jemand eine Idee, wie man das erreicht? Freundlicher Dank,

rix
quelle

Antworten:

17

ungetestet .. aber ich versuche das

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
quelle
1
Ja! Ich danke dir sehr. Ich habe jetzt schon eine Weile damit zu kämpfen. Sehr geschätzt. Bitte stimmen Sie dieser Antwort zu, wenn Sie dies als Hilfe empfinden. Vielen Dank ...
Rix
Die Verbindung ist unterbrochen
Bill Rosmus
Lösung funktioniert immer noch. Einige Erklärungen finden Sie hier: docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Tim
Hat für mich gearbeitet. Heute getestet
Ben Sinclair
0

Die Antwort von Mike ist größtenteils richtig, aber es ist wichtig darauf hinzuweisen, dass der Load Balancer seine Routine zur Überprüfung des Zustands noch ausführen muss, um sicherzustellen, dass die ec2-Instanz noch aktiv und in Ordnung ist. Dies kann mit einem zusätzlichen erfolgenRewriteCond

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

... wo alive.htmlist der Name Ihrer Gesundheitsprüfungsdatei?

Jon B.
quelle