2016-09-29 2 views
1

ich eine AWS Load Balancer bin mit und zur Zeit alle http auf https mit dieser .htaccess regex Umleitung:Kraft https und www auf AWS Load Balancer

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$ 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Dies funktioniert gut, weil ich Gesundheits-Checks, die sein müssen Zugriff auf 80. Allerdings, wenn ich versuche, auf https www zuzugreifen, bekomme ich einen DNS-Fehler.

Wie würde Regex aussehen, die alles an https://www routet und einen Status-Check auf http auf meinen Instanzen übergibt?

Vielen Dank!

+1

Was ist der DNS-Fehler, den Sie bekommen? Ist es möglich, dass Sie keinen DNS-Eintrag für die www-Subdomain haben? –

Antwort

0

Bei AWS hinter dem Load Balancer müssen Sie die Dinge anders handhaben. Aufgrund des SSL-Offloads mit Ihrem Load Balancer werden Sie nicht wie üblich nach https suchen. Sie müssten das X-Forwarded-Proto

überprüfen. Es sollte wie folgt sein.

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{SERVER_NAME} ^(www\.)?(.*)$ [NC] 
RewriteRule ^.*$ https://www.%2%{REQUEST_URI} [R=301,L]` 
Verwandte Themen